SQL查询错误附近''

时间:2010-11-01 21:59:33

标签: php sql sql-update printf

UPDATE ".$tablename." SET stock=%s WHERE itemname=".$itemname."

SQL Query抛出此错误:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近''第1行

无法找到它所说的内容,因为它只会给我''而不是查询中的任何文字。谢谢!

3 个答案:

答案 0 :(得分:1)

示例看起来不完整。

变量$ tablename或$ itemname是否可能为空?

你正在混合sprintf和字符串连接。最好的方法是使用唯一的方法。即:

$ sql =“UPDATE%s SET stock ='%s'WHERES itemname ='%s'”; sprintf($ sql,$ tablename,$ stock,$ itemname); //在mysql_query中使用它

但同意帕克你没有引用你的字符串

答案 1 :(得分:1)

上面的字符串连接看起来非常混乱! 我会选择简单的事情:

$sql = "UPDATE $tablename SET stock='$stock' WHERE itemname='$itemname'";

如果这不起作用,您应该调试以下值:$tablename, $stock$itemname

PS。我已经给尼克+1了:)。

答案 2 :(得分:0)

试试看,你的字符串看起来不像。

UPDATE ".$tablename." SET stock='%s' WHERE itemname='".$itemname."'