2011-03-09 86 views
1

你能帮我弄清楚这条线有什么问题吗?PHP/MYSQL语法错误

$sql45="UPDATE invite_keys SET use=$num WHERE key=$getkey LIMIT 1 "; 

我做了一些错误检查,并能确定的是,上述行有不正确的语法,我只是无法弄清楚到底是什么导致它失败。有人知道吗?

Output of error: MySQL Query failed with error: 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 'use=1 WHERE key=2598131858 LIMIT 1' at line 1 

谢谢你的帮忙!

回答

4

使用和KEY保留在MySQL的话,必须由反引号中查询所包围:

"UPDATE invite_keys SET `use` = $num WHERE `key` = $getkey LIMIT 1" 

看到documentation的保留字列表。

+0

谢谢,马克!所有固定的,我学到了新东西!非常感谢! – Brandon 2011-03-09 22:07:41

2
$sql45="UPDATE `invite_keys` SET `use`=" . $num . " WHERE `key`=" . $getkey . " LIMIT 1 "; 

重点是 - 总是用``字段的至少...

0

马克的有关背面答案蜱是正确的。注意在SQL语句和PHP变量中使用关键字。这很容易,有时候很诱人。

排除故障时要做的一件好事是回显您的SQL字符串,以便您可以完整地看到它,这可以给您一个提示。

如果这没有帮助,请尝试粘贴到phpmysqladmin或其他mySQL接口中,查看出现了什么错误。有时它比你在网页上看到的更具解释性。

+0

谢谢史蒂夫的调试技巧!现在一切正常! – Brandon 2011-03-09 22:08:46