PHP-MYSQL语法错误


PHP- MYSQL Syntax Error

Basicly我有一个注册页面,您可以在其中使用串行密钥注册游戏帐户。我正在检查输入的密钥是否在数据库中。

$keyquery = mysql_query("SELECT * FROM keys WHERE key = '$_POST[key]' AND used = '$used'") or die(mysql_error());
if(!$row = mysql_fetch_array($keyquery) or die(mysql_error()))
{
//key works
}
else
{
//key doesnt work
}

现在,如果我试图注册一个帐户,我会得到一个错误。

您的SQL语法有错误;查看与MySQL服务器版本相对应的手册,了解在第1行的'keys WHERE key='1234'AND used='0'附近使用的正确语法

key是MySQL中的保留字,您应该使用backticks `来转义它。

$keyquery = mysql_query("SELECT * FROM `keys` WHERE `key` = '$_POST[key]' AND `used` = '$used'") or die(mysql_error());