我有以下一行:
$reset = "UPDATE pidgeon SET obt='" . $hour . "' WHERE tag='" . $tag . "'";
哪个更新就好了。但是我需要更新一个额外的行(kill)并且我不断收到语法错误。我尝试了以下内容:
$reset = "UPDATE pidgeon SET obt='" . $hour . "', kill='1' WHERE tag='" . $tag . "'";
$reset = "UPDATE pidgeon SET kill='1', obt='" . $hour . "' WHERE tag='" . $tag . "'";
$reset = "UPDATE pidgeon SET obt='" . $hour . "', kill='" . $num . "' WHERE tag='" . $tag . "'";
我甚至完成了2个单独的UPDATE查询,我得到了相同的语法错误消息。我把它缩小到系统遇到 kill 行的问题,但我不确定是什么问题。我已经尝试将 kill 设置为INT,SMALLINT,BOOL,甚至是CHAR,并尝试使用't / f'作为它的值。我仍然遇到语法错误。有什么建议吗?
答案 0 :(得分:1)
KILL
是一个reserved keyword,所以你必须将它包含在反引号中,如下所示:
$reset = sprintf("UPDATE pidgeon SET `kill`='1', obt='%s'
WHERE tag='%s'", $hour, $tag);
答案 1 :(得分:0)
Kill
实际上是一种语法,你不能直接使用它们。
只需用其他名称替换kill
。