好的,所以我现在正在使用mysqli_real_escape_string来逃避我的SQL查询,然后再通过PHP将它们发送到MySQL。然而,由于某些原因我的查询没有处理,当我输出MySQL查询并将其粘贴到PHPMyAdmin时,它给出了以下错误:
#1064 - 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 'WHERE ind={A$RTkAIqah0J1N$Fqymnud9s5PwnWw2wC.Y02oDo4H3W8QJPoJ$6$KK8UearuUCDH$FQg' at line 1
现在,以下是我的查询:
INSERT INTO `db`.table(`colheader`) VALUES ('{\"hey\":[\"Hello world\",\"7\\/9\\/2013\"]}') WHERE ind='$6$RTkAIqah0J1N$Fqymnud9s5PwnWw2wC.Y02oDo4H3W8QJPoJ$6$KK8UearuUCDH$FQgSnLHIlkBOtDTzu9AuZIZTr6GS4Rzr.iW11041994'
现在,我知道分配给'ind'的字符串存在一些问题,但我尝试在每个句点和每个美元符号之前加上斜杠,但它仍然不起作用。我试着把整个东西放在双引号中,甚至括号中。没有。谁能指出我明显缺少的东西?我查看了文档,似乎找不到任何东西。提前谢谢!!
答案 0 :(得分:1)
WHERE
用于过滤您的查询将影响或检索哪些记录,以及INSERT
服务器将全新记录附加到表格。
INSERT
永远不会影响现有记录,因此无意义地拥有WHERE
子句。 INSERT
不支持WHERE
。
如果您尝试编辑现有记录中字段的值,请改用UPDATE
。
请查看MySQL Reference Manual了解其使用情况的详细信息。
答案 1 :(得分:0)
如果您尝试对指定的索引进行更新,请使用
UPDATE `db`.table SET `colheader` = '{\"hey\":[\"Hello world\",\"7\\/9\\/2013\"]}' WHERE ind='$6$RTkAIqah0J1N$Fqymnud9s5PwnWw2wC.Y02oDo4H3W8QJPoJ$6$KK8UearuUCDH$FQgSnLHIlkBOtDTzu9AuZIZTr6GS4Rzr.iW11041994'