Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL插入包含单引号和双引号的数据,导致语法错误_Mysql_Insert_Quotes - Fatal编程技术网

MySQL插入包含单引号和双引号的数据,导致语法错误

MySQL插入包含单引号和双引号的数据,导致语法错误,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语句,将数据从一个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_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抱歉,我忘记了那个问题。编辑我的答案,现在只有一个反斜杠。不知道我是怎么把他们俩混在一起的。现在应该可以了。还添加了一个链接,您可以在其中找到更多信息。