PHP addslashes()函數(shù)的具體應(yīng)用解析
我們通過對PHP語言的學習,體會到了PHP這門計算機高級語言的強大的功能。我們在這篇文章中將會為大家介紹有關(guān)PHP addslashes()函數(shù)的相關(guān)用法。
#t#定義和用法
addslashes() 函數(shù)在指定的預(yù)定義字符前添加反斜杠。
這些預(yù)定義字符是:
單引號 (')
雙引號 (")
反斜杠 (\)
NULL
語法
c
參數(shù) 描述
string 必需。規(guī)定要檢查的字符串。
提示和注釋
提示:該函數(shù)可用于為存儲在數(shù)據(jù)庫中的字符串以及數(shù)據(jù)庫查詢語句準備合適的字符串。
注釋:默認情況下,PHP 指令 magic_quotes_gpc 為 on,對所有的 GET、POST 和 COOKIE 數(shù)據(jù)自動運行 addslashes()。不要對已經(jīng)被 magic_quotes_gpc 轉(zhuǎn)義過的字符串使用 addslashes(),因為這樣會導致雙層轉(zhuǎn)義。遇到這種情況時可以使用函數(shù) get_magic_quotes_gpc() 進行檢測。
例子
在本例中,我們要向字符串中的預(yù)定義添加反斜杠:
- < ?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() 的例子是當你要往數(shù)據(jù)庫中輸入數(shù)據(jù)時。例如,將名字 O'reilly 插入到數(shù)據(jù)庫中,這就需要對其進行轉(zhuǎn)義。大多數(shù)據(jù)庫使用 \ 作為轉(zhuǎn)義符:O\'reilly。這樣可以將數(shù)據(jù)放入數(shù)據(jù)庫中,而不會插入額外的 \。當 PHP 指令 magic_quotes_sybase 被設(shè)置成 on 時,意味著插入 ' 時將使用 ' 進行轉(zhuǎn)義。
默認情況下,PHP 指令 magic_quotes_gpc 為 on,它主要是對所有的 GET、POST 和 COOKIE 數(shù)據(jù)自動運行 addslashes()。不要對已經(jīng)被 magic_quotes_gpc 轉(zhuǎn)義過的字符串使用 addslashes(),因為這樣會導致雙層轉(zhuǎn)義。遇到這種情況時可以使用函數(shù) get_magic_quotes_gpc() 進行檢測。