我們通過對定義和用法
addslashes() 函數在指定的預定義字符前添加反斜槓。
這些預定義字符是:
單引號 (')
雙引號 (")
反斜槓 ()
NULL
語法
c
參數 描述
string 必需。規定要檢查的字符串。
提示和注釋
提示:該函數可用於為存儲在數據庫中的字符串以及數據庫查詢語句准備合適的字符串。
注釋:默認情況下,PHP 指令 magic_quotes_gpc 為 on,對所有的 GET、POST 和 COOKIE 數據自動運行 addslashes()。不要對已經被 magic_quotes_gpc 轉義過的字符串使用 addslashes(),因為這樣會導致雙層轉義。遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測。
例子
在本例中,我們要向字符串中的預定義添加反斜槓:
- < ?php
- $str = "Who's John Adams?";
- echo $str . " This is not safe in a database query.
- < br />";
- echo addslashes($str) . " This is safe in a database query.";
- ?>
輸出:
Who's John Adams? This is not safe in a database query.
Who's John Adams? This is safe in a database query.
一個使用 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() 進行檢測。