Я пытаюсь заставить 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."); ?>
Если вы вызываете эхо используемых переменных, это удается при передаче информации, так что это не проблема.
Это может быть потому, что desc
– это ключевое слово в SQL. Попробуйте другое имя. desc
используется для сортировки результатов в порядке убывания.
В общем, я бы рекомендовал избегать использования зарезервированных слов для имен столбцов.
desc
– зарезервированное ключевое слово (сокращение от DESCENDING
в ORDER BY
).
Включите его в обратные ссылки:
INSERT INTO ideas (title, `desc`) VALUES ('$title','$desc');