#mysql
При создании таблицы (название которой идет вместе с заголовком и контентом через
форму) почему-то возникает ошибка, если в названии таблицы - два слова через пробел.
выдает ошибку:
"You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'gdfg (id INT (11)NOT NULL AUTO_INCREMENT,title
VARCHAR(100) NULL DEFAULT 0 ,cont' at line 1""
где "gdfg" — это второе слово в названии таблицы. с одним словом в названии проблем
нет, а вот если в названии два слова - возникает ошибка.
код создания выглядит так:
$comand="CREATE TABLE $category_ (id INT (11)NOT NULL AUTO_INCREMENT,title VARCHAR(100)
NULL DEFAULT 0 ,content VARCHAR(4096) NULL DEFAULT 0,
data TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY
KEY (id))";
mysql_query($comand)or die(mysql_error());
$comand="INSERT INTO $category_ (title, content) VALUES ('$titles','$contents')";
mysql_query($comand)or die(mysql_error());
Ответы
Ответ 1
Если вы хотите создать таблицу с пробелом в имени, то ее имя надо заключать в обратные апострофы: create table `abc def` (id int not null) Но вам так же придется при любом упоминании ее имени в любых SQL запросах так же заключать ее в обратные апострофы.Ответ 2
Так как пробелы используются для разделения частей команды SQL, они не могут быть частью имени таблицы ( или любого другого объекта, такого как индекс ). Подчеркивание ( _ ) - обычно используется для разделения слов в именах таблиц. Можно задавать имя таблицы с пробелом, но только в апострофах(в кавычках нельзя). Также зависит от версии Mysql.
Комментариев нет:
Отправить комментарий