2010-11-01 103 views
0
UPDATE ".$tablename." SET stock=%s WHERE itemname=".$itemname." 

SQL查询引发此错误:SQL查询错误“”附近

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

找不到它是什么说起,因为它只是给了我',而不是在查询中的任何文字。谢谢!

回答

1

上面的字符串连接看起来真的乱了! 我会去的东西很简单:

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

如果这不起作用,你应该调试的值:$tablename, $stock$itemname

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

0

试试吧,它看起来不像你在引用你的字符串。

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

字段名'股票'看起来像一个整数给我...你不应该把整数引号! – Jeffrey 2012-06-30 14:11:00

1

该示例看起来不完整。

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

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

$ sql =“UPDATE%s SET stock ='%s'WHERE itemname ='%s'”; sprintf($ sql,$ tablename,$ stock,$ itemname); //中的mysql_query

使用

但随着帕克同意,你不要引用你的字符串