2013-03-20 59 views
-1

我需要與此查詢幫助:#1064 - 您的SQL語法錯誤; 'block'附近使用正確的語法?

update ibf_posts 
set post = 
replace (post, 
'<div><div style="background: #B7E5CE;border: 1px dotted #000; border-bottom: 0; border-left: 4px solid #429E6F; color: #000; font-weight: bold; font-size: 10px; margin: 8px auto 0 auto; padding: 3px;">SPOILER <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='--Click here to view--';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='--Click here to hide--';}">--Click here to view--</a></div><div style="color: #000000; background: #FAFCFE; border: 1px dotted #000; border-left: 4px solid #429E6F; border-top: 0; padding: 4px; margin: 0 auto 8px auto;display:none;">', 
'[spoiler]'); 

我得到這個錯誤:

#1064 - You have an error in your SQL syntax; check the manual that corresponds 
to your MySQL server version for the right syntax to use near 'block') 
{parentNode.parentNode.getElementsByTagName('div')[1].style.display='none' at line 1 

任何線索?謝謝

+0

在查詢中使用它之前,先將其輸出轉義出來,然後在結尾處輸入字符串。 – Wrikken 2013-03-20 22:18:13

+0

我不太懂,我在做什麼?謝謝 – andybadwool 2013-03-20 22:20:10

+0

如果你正在手動編寫這個查詢,使用'\'',但是,對於動態值,你正在構建這個的語言/接口可能會有所幫助。 – Wrikken 2013-03-20 22:21:07

回答

0

既然你插入字符串與'(單撇號/引號),你需要轉義所有相同的字符串內出現。

update ibf_posts 
set post = 
replace (post, 
'<div><div style="background: #B7E5CE;border: 1px dotted #000; border-bottom: 0; border-left: 4px solid #429E6F; color: #000; font-weight: bold; font-size: 10px; margin: 8px auto 0 auto; padding: 3px;">SPOILER <a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display==\'block\'){parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display=\'none\';this.innerHTML=\'--Click here to view--\';}else {parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display='block';this.innerHTML=\'--Click here to hide--\';}">--Click here to view--</a></div><div style="color: #000000; background: #FAFCFE; border: 1px dotted #000; border-left: 4px solid #429E6F; border-top: 0; padding: 4px; margin: 0 auto 8px auto;display:none;">', 
'[spoiler]'); 

逃逸是在前面加上一個反斜槓(\)的報價來完成。

+0

謝謝Wrikken和Dream Eater,使用反斜槓:) – andybadwool 2013-03-20 22:26:52

相關問題