奇怪的MySQL错误。 (PHP)

时间:2011-10-25 17:17:44

标签: php mysql

我有以下代码:

<?php
include("config.php");
$key = 'blahblah';
$sql = "INSERT INTO softversions SET key='$key'";
$result = mysql_query($sql) or die ($mysql_error());
echo "dude";
?>

这给了我一个错误:

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 'key='svksskjfvns'' at line 1

问题是我在其他页面上使用了这个脚本大约一百次并且它有效。 表和字段名称是100%正确。

我不明白发生了什么。 你看到那里的语法错误吗?

3 个答案:

答案 0 :(得分:2)

KEY是MySQL中的reserved word,您需要使用反引号将其转义为列名,并且在插入时也不应使用SET

$sql = "INSERT INTO softversions (`key`) VALUES ('$key')";

答案 1 :(得分:1)

key是MySQL中的保留字。要将其用作列,每次调用时都需要将其转义。

$sql = "INSERT INTO softversions SET `key`='$key'";

答案 2 :(得分:0)

$sql = "INSERT INTO softversions(keyName) values('{$key}')";

相关问题