PHP / MySQL Вставить Запрос - PullRequest
3 голосов
/ 16 июля 2011

Я не могу заставить этот запрос вставки работать.

mysql_connect("**host**", "**username**", "**password**") or error("Could not connect: ".mysql_error());
mysql_select_db("**db_name**");
$db = mysql_query("INSERT INTO `pass_reset` (id,status,key,email) VALUES ('','0','$key','$email')");

Возвращает эту ошибку:

У вас ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL для правильного использования синтаксиса около 'key, email) VALUES (' ',' 0 ',' ',' ')' в строке 1

Может ли кто-нибудь помочь мне с этим? Я буквально тяну волосы за этот простой запрос.

Ответы [ 4 ]

9 голосов
/ 16 июля 2011

Попробуйте следующее:

$db = mysql_query("INSERT INTO `pass_reset` (id,status,`key`,email) VALUES ('','0','$key','$email')");

Поскольку key является зарезервированным словом в MySQL , вы должны экранировать его с помощью обратных галочек ``

3 голосов
/ 16 июля 2011

KEY - это зарезервированное слово в MySQL, поэтому вам придется избегать его с обратными галочками.

0 голосов
/ 16 июля 2011

не помещайте переменную php в '', это наверняка сработает man

$db = mysql_query("INSERT INTO `pass_reset` (id,status,key,email) VALUES ('','0',$key,$email)");

Или

 $db = mysql_query("INSERT INTO `pass_reset` (id,status,key,email) VALUES ('0',$key,$email)");
0 голосов
/ 16 июля 2011

Может быть, попробовать заключить имена столбцов с серьезным акцентом?

(`id`,`status`,`key`,`email`)
...