难以理解为什么MySQL不接受我的查询?

时间:2013-07-10 01:57:17

标签: php mysql sql

好的,所以我现在正在使用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'的字符串存在一些问题,但我尝试在每个句点和每个美元符号之前加上斜杠,但它仍然不起作用。我试着把整个东西放在双引号中,甚至括号中。没有。谁能指出我明显缺少的东西?我查看了文档,似乎找不到任何东西。提前谢谢!!

2 个答案:

答案 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'