MySQL: «У вас есть ошибка в синтаксисе SQL … close» desc) VALUES ('Idea', 'Description') '"

Я пытаюсь заставить MySQL работать для моих форм. У меня проблема, когда я пытаюсь вставить в таблицу.
Когда я помещаю информацию в свою форму и нажимаю submit (в этом примере информация «Идея» в одном поле и «Описание» в другом), я получаю этот ответ:

«У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования около« desc ». VALUES (« Идея »,« Описание »)« в строке 1 »

Я запускаю файл .php с веб-сервера для выполнения этого скрипта.

Вот мой текущий код:

<?php mysql_connect("localhost","root","") or die(mysql_error()); mysql_select_db("date_ideas") or die(mysql_error()); $title=$_POST['title']; $title=mysql_real_escape_string($title); $desc=$_POST['desc']; $desc=mysql_real_escape_string($desc); $submit="INSERT INTO ideas (title, desc) VALUES ('$title','$desc');"; mysql_query($submit) or die(mysql_error()); echo ("Idea submitted. Click <a href='Webroot/submit.php'>here</a> to go back and post another idea."); ?> 

Если вы вызываете эхо используемых переменных, это удается при передаче информации, так что это не проблема.

Solutions Collecting From Web of "MySQL: «У вас есть ошибка в синтаксисе SQL … close» desc) VALUES ('Idea', 'Description') '""

Это может быть потому, что desc – это ключевое слово в SQL. Попробуйте другое имя. desc используется для сортировки результатов в порядке убывания.

В общем, я бы рекомендовал избегать использования зарезервированных слов для имен столбцов.

desc – зарезервированное ключевое слово (сокращение от DESCENDING в ORDER BY ).

Включите его в обратные ссылки:

 INSERT INTO ideas (title, `desc`) VALUES ('$title','$desc');