Почему ругается на синтаксис 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, время: 09:00. |