mysql數據庫中插入數據時轉義函數addslashes()

 在往數據庫裏插入數據時,原來不知道有這個函數,很傻的用了一連串的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() 進行檢測。函數

相關文章
相關標籤/搜索