3

私の一生の間、この挿入クエリを機能させることはできません。

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構文にエラーがあります。1行目の'key、email)VALUES(''、' 0'、''、'')'の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

誰かがこれを手伝ってくれませんか?私は文字通り、この単純なクエリで髪を引っ張っています。

4

4 に答える 4

9

次のことを試してください。

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

keyMySQLによって予約語であるため、バッククォートでエスケープする必要があります ``

于 2011-07-15T21:45:41.273 に答える
3

KEYは MySQL の予約語であるため、バックティックでエスケープする必要があります。

于 2011-07-15T21:47:37.283 に答える
0

列名をアクサングラーブで囲んでみてください。

(`id`、` status`、 `key`、` email`)
于 2011-07-15T21:46:38.750 に答える
-1

「」にphp変数を入れないでください。確かに機能します

$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)");
于 2011-07-15T21:49:14.640 に答える