2010-02-19 62 views
0

我想更新在這裏使用逃脫在MySQL中陳述特殊字符,而使用UPDATE

UPDATE table set field='some_variable' where id=1; 

的問題域是與它的多個特殊字符some_variable comtains數據。所以我不能,因爲它打破了,當它遇到的第一個相同的字符(」或「)沒有使用「some_variable」或「some_variable」我如何克服這個問題?

感謝。 邁克

回答

1

有兩種解決方案,第一種是使用mysql_real_escape_string()第二種是使用準備好的語句,你沒有提到你的編程語言是什麼,但它肯定支持準備好的語句或真正的轉義

除了真正的轉義,如果你的字段是char或varchar,你應該修改你的查詢如下:

UPDATE table set field='some_variable' where id=1; 
+0

我使用紅寶石,我必須使用escape_string,它的工作就像一個魅力,謝謝。 是的,這是一個錯誤,我糾正它。 – mike 2010-02-19 11:13:06

0

通常,您只需要轉義保留字符 - 具體參見MySQL docs。如果您直接執行查詢(即:在MySQL shell中),則必須手動轉義。大多數語言都會提供一個函數讓你逃脫 - 例如在PHP中,它是mysql_real_escape_string()

+0

我使用了escape_string,它爲我工作,謝謝。 – mike 2010-02-19 11:13:44