#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.
Комментариев нет:
Отправить комментарий