Почему ругается на синтаксис SQL?
//@ Для подавления вывода сообщений об ошибках. ////соединение с базой данных //Адресс сервера MySQL $dblocation = 'localhost'; //Имя базы данных $dbname = 'php'; //Имя пользователя БД $dbuser = 'user'; //и его пароль $dbpasswd = '123'; //Устанавливаем соединение с БД $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd); if(!$dbcnx){ //если дескриптор равен 0, соединение не установлено exit('<p>В настоящий момент сервер базы данных не доступен, '. 'поэтому корректное отображение страницы невозможно.</p>' ); } else{ echo "<p>Соединение установлено</p>"; } @mysql_query("SET NAMES 'cp1251'"); ////////////Выбор базый данных //mysql_select_db() if(!@mysql_select_db($dbname, $dbcnx)){ echo ("<p>БД не доступна</p>"); exit; } else{ echo "БД выбрана"; } ////////выполнение запросов SQL $query = "CREATE TABLE catalogs ( id_catalog INT(11) NOT NULL AUTO_INCREMENT, name TINYTEXT NOT NULL, PRIMARY KEY (id_catalog), FULLTEXT KEY `name` (`name`) ); INSERT INTO catalogs VALUES (1,'Процессоры'); INSERT INTO catalogs VALUES (2,'Материнские платы'); INSERT INTO catalogs VALUES (3,'Видеоадаптеры'); INSERT INTO catalogs VALUES (4,'Жёсткие диски'); INSERT INTO catalogs VALUES (5,'Оперативная память'); "; if(mysql_query($query)){ echo "Таблица успешно создана"; } else{ exit(mysql_error()); |
Сперва запрос на создание таблицы и только потом отдельные запросы на запись данных, а не пытаться все кучей в одном запросе. Можно многострочную вставку данных произвести и одним запросом, соответственно подготовив такой запрос.
Ошибки sql-запросов нужно анализировать при отладке и подавлять их вывод на страницах пользователя, но не "собакой", это дурной тон. В рамках РНР об оригинальном mysql расширении нужно забывать и использовать либо mysqli, либо PDO. |
Я делаю запрос в phpmyadmin
CREATE TABLE catalogs ( id_catalog INT(11) NOT NULL AUTO_INCREMENT, name TINYTEXT NOT NULL, PRIMARY KEY (id_catalog), FULLTEXT KEY `name` (`name`) ); И почему мне пишет #1214 - The used table type doesn't support FULLTEXT indexe |
CREATE TABLE catalogs (
id_catalog INT(11) NOT NULL AUTO_INCREMENT, name TINYTEXT NOT NULL, PRIMARY KEY (id_catalog), FULLTEXT KEY `name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; |
Часовой пояс GMT +3, время: 11:10. |