插入带有撇号的单词后的ER_PARSE_ERROR

时间:2017-08-09 12:45:50

标签: mysql sql node.js sql-insert

当我在HTML输入中插入包含撇号的单词时,我收到此错误

  

错误:ER_PARSE_ERROR:您的SQL语法中有错误;检查   与您的MariaDB服务器版本对应的手册   要在

附近使用的语法

例如:插入没有撇号的单词,例如" Hello world"成功地工作,我可以看到MySQL表中的行。但是,当我插入像"' s"然后我得到了错误。

我将varchar用于值行。

connection.query("IN­SERT INTO masstoadmin (`title`,`contact`,`­theuser`,`ptime`,`to­user`,`mass_stat`) VALUES ('"+title+"','"+cont­act+"','"+theuser+"'­,'"+ptime+"','"+tuse­r+"','"+nmasso+"')")­;

1 个答案:

答案 0 :(得分:2)

您应该使用占位符,这也可以通过正确转义您传入查询的值来阻止SQL注入:

connection.query("INSERT INTO masstoadmin (`title`,`contact`,`theuser`,`ptime`,`touser`,`mass_stat`) VALUES (?, ?, ?, ?, ?, ?)", [ title, contact, theuser, ptime, tuser, nmasso ], ...)