MySQL插入问题

MySQL插入问题,mysql,insert,replace,double-quotes,Mysql,Insert,Replace,Double Quotes,我试图将数据插入到包含大量单引号和双引号的表中 INSERT INTO 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.repository

我试图将数据插入到包含大量单引号和双引号的表中

INSERT INTO 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~", 
replace(replace("@Data.pluginText~", ',', ''), '"', '' ))
我收到以下错误:

您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在运行此扫描时未启用“彻底测试”附近使用的正确语法。\n\n ve:CVE-2011-1000,第3行

但是,数据如下所示:

运行此扫描时未启用“彻底测试”。\n\n版本:CVE-2011-1000


有人知道为什么双引号中的一个被替换为单引号并抛出此错误吗?

这不重要。问题是数据的所有引号都应该用斜杠(“\”)转义。这样,在将结果返回到代码时,您只需取消对数据的扫描。

我无法控制数据,它来自外部工具。我只是想把它插入一个新的数据库你说没有控制是什么意思,你不能在插入之前清理数据吗?我不知道怎么做,我连接了一个网络扫描工具的后端数据库,并试图将扫描结果从插入一个MySQL数据库,该数据库是我为处理数据而设置的。从数据库返回结果时,无需取消数据扫描。