Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 靠近'的SQL查询错误';_Php_Sql_Sql Update_Printf - Fatal编程技术网

Php 靠近'的SQL查询错误';

Php 靠近'的SQL查询错误';,php,sql,sql-update,printf,Php,Sql,Sql Update,Printf,引发此错误的SQL查询: 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行的“”附近 找不到它正在谈论的内容,因为它只给我“”而在查询中没有任何文本。谢谢 试试看,你好像没有引用字符串 UPDATE ".$tablename." SET stock=%s WHERE itemname=".$itemname." 这个例子看起来不完整 变量$tablename或$itemname是否可能为空 您正在混合sprintf和字符串连接。最好的方法是只使用一种

引发此错误的SQL查询:

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


找不到它正在谈论的内容,因为它只给我“”而在查询中没有任何文本。谢谢

试试看,你好像没有引用字符串

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

这个例子看起来不完整

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

您正在混合sprintf和字符串连接。最好的方法是只使用一种方法。i、 e:

$sql=“更新%s集合库存='%s',其中itemname='%s'; sprintf($sql、$tablename、$stock、$itemname)//在mysql\u查询中使用此选项


但是同意Parker的说法,你没有引用你的字符串,上面的字符串连接看起来非常混乱! 我会选择一些简单的东西:


$sql=“UPDATE$tablename SET stock='$stock',其中itemname='$itemname';

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


另外,我已经给了尼克+1:)

字段名“股票”对我来说似乎是一个整数。。。千万不要在整数周围加引号!
UPDATE ".$tablename." SET stock='%s' WHERE itemname='".$itemname."'