Mysql 插入带撇号的单词后出现ER_PARSE_错误

Mysql 插入带撇号的单词后出现ER_PARSE_错误,mysql,sql,node.js,sql-insert,Mysql,Sql,Node.js,Sql Insert,当我在HTML输入中插入一个带有撇号的单词时,我得到了这个错误 错误:ER_PARSE_错误:您的SQL语法有错误;检查 与右侧的MariaDB服务器版本相对应的手册 使用near的语法 例如:插入不带撇号的单词(如“Hello world”)可以成功地工作,我可以看到MySQL表中的行。但是,当我插入“that's”这样的词时,我就得到了错误 我使用varchar作为值行 connection.query("IN­SERT INTO masstoadmin (`title`,`contact`

当我在HTML输入中插入一个带有撇号的单词时,我得到了这个错误

错误:ER_PARSE_错误:您的SQL语法有错误;检查 与右侧的MariaDB服务器版本相对应的手册 使用near的语法

例如:插入不带撇号的单词(如“Hello world”)可以成功地工作,我可以看到MySQL表中的行。但是,当我插入“that'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+"')")­;

您应该使用占位符,占位符还可以通过正确转义要传递到查询中的值来防止SQL注入:

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

了解SQL注入和。@robertklep我试图使用connection.escapeId,但我仍然得到了可能重复的错误。查询(“插入到masstoadmin(
title
contact
…用户
ptime
t-o…用户
mass\u stat
)值(?,,,,,,,?)”,[标题、联系人、用法、时间、任务、任务];^SyntaxError:无效或意外token@darknight请参见编辑。出于某种原因,您的代码中包含的软连字符会破坏代码。我删除了它们。我得到了这个错误:ER_PARSE_错误:您的SQL语法有一个错误;检查与您的MariaDB服务器版本相对应的手册,以获取正确的语法,以便在第行“插入到masstoadmin”(
title
contact
the user
ptime
to-user
,“mass\u0”附近使用1@darknight您发布的代码中有更多垃圾字符,请重试。