2012-05-21 236 views
-1

我正在嘗試將數據插入到包含大量單引號和雙引號的表中。MySQL插入問題

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 \ nCVE:CVE-2011-1000,第3行

然而數據看起來是這樣的:

徹底測試」 \ n當此運行掃描沒有啓用\ n \ NCVE:CVE-1011至00年

有沒有人有一個想法,爲什麼雙引號中的一個是換成單引號並拋出這個錯誤?

+0

請顯示您的代碼。 –

+0

查詢結果是 – Ben

回答

0

它應該沒關係。問題是你的數據應該用斜槓('\')轉義所有引號。這樣,您只需在將結果返回到代碼時取消數據。

+0

我無法控制數據,它來自外部工具。我只是試圖把它插入到一個新的數據庫中 – Ben

+0

你是什麼意思,無法控制,你不能在插入之前清理數據嗎? – edocetirwi

+0

我不知道如何連接網絡掃描工具的後端數據庫,並試圖將掃描結果插入到我設置用於處理數據的MySQL數據庫中。 – Ben