在往數據庫裡插入數據時,原來不知道有這個函數,很傻的用了一連串的str_replace(); 一次過濾內容中的特殊的字符,還有些朋友說可以用mysql_real_escape_string()這個函數,現在也不明白兩個函數究竟有什麼區別,也希望知道的朋友能夠指正!
string addslashes ( string str )
返回字符串,該字符串為了數據庫查詢語句等的需要在某些字符前加上了反斜線。這些字符是單引號(‘)、雙引號(“)、反斜線(\)與 NUL(NULL 字符)。
一個使用 addslashes() 的例子是當你要往數據庫中輸入數據時。例如,將名字 O’reilly 插入到數據庫中,這就需要對其進行轉義。大多數據庫使用 \ 作為轉義符:O\’reilly。這樣可以將數據放入數據庫中,而不會插入額外的 \。當 PHP 指令 magic_quotes_sybase 被設置成 on 時,意味著插入 ‘ 時將使用 ‘ 進行轉義。
默認情況下,PHP 指令 magic_quotes_gpc> 為 on,它主要是對所有的 GET、POST 和 COOKIE 數據自動運行 addslashes()。不要對已經被 magic_quotes_gpc 轉義過的字符串使用 addslashes(),因為這樣會導致雙層轉義。遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測。