MySQL插入包含单引号和双引号的数据,导致语法错误
我在一个工具中使用下面的insert语句,将数据从一个DB拉入另一个DBMySQL插入包含单引号和双引号的数据,导致语法错误,mysql,insert,quotes,Mysql,Insert,Quotes,我在一个工具中使用下面的insert语句,将数据从一个DB拉入另一个DB INSERT INTO act_vulnerabilities_internal_test (device_type, ip_address, user_tag, repositoryID, severity, pluginID, pluginName, pluginText) VALUES ("@Data.device_type~", "@Data.ip_address~", "@Data.user_ta
INSERT INTO act_vulnerabilities_internal_test (device_type, ip_address, user_tag,
repositoryID, severity, pluginID, pluginName, pluginText)
VALUES ("@Data.device_type~", "@Data.ip_address~", "@Data.user_tag~",
"@Data.repositoryID~", "@Data.severity~", "@Data.pluginID~", "@Data.pluginName~",
@Data.pluginText~)
错误消息:您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在第3行“\n语法:\n\n可以从远程web服务检索文件备份”附近使用的正确语法
我试图从其中一列中提取的数据中有很多单引号和双引号(这是从专有工具提取的,我无法编辑数据)。给我问题的专栏是名为pluginext的专栏。有没有办法让db忽略行中包含的“and”
mysql\u real\u escape\u string是我正确执行此操作所需的吗?更新:使用 原始答复: 请试试这个:
INSERT INTO
...
VALUES (
...
, REPLACE(@Data.pluginText, '"', '\"')
)
或者,如果其中有单引号和双引号:
INSERT INTO
...
VALUES (
...
, REPLACE(REPLACE(@Data.pluginText, '"', '\"'), "'", "\'")
)
您可以阅读更多有关它的信息我们需要使用
addslashes($text)
函数来转义所有单引号和双引号、NULL等,以使MYSQL能够理解它。
我尝试了这两种方法,但收到了一个类似的错误:您的SQL语法有错误;请检查与您的MySQL服务器版本相对应的手册,以了解在运行此扫描时\n未启用接近“彻底测试”的正确语法。\n\n ve:CVE-99,'在第3行,我是否还需要删除。\-和:symbols?@user1208132你能给我造成麻烦的文本吗,这样我就可以测试一下了?这是它的格式,并且必须保留:“彻底测试”在运行扫描时没有启用。\n\n ve:CVE-2012-2100,有人对此有看法吗?@user1208132抱歉,我忘记了那个问题。编辑我的答案,现在只有一个反斜杠。不知道我是怎么把他们俩混在一起的。现在应该可以了。还添加了一个链接,您可以在其中找到更多信息。