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