(PHP 4, PHP 5, PHP 7, PHP 8)
addslashes — 使用反斜線引用字符串
$str
): string
返回字符串,該字符串為了數(shù)據(jù)庫查詢語句等的需要在某些字符前加上了反斜線。這些字符是單引號('
)、雙引號("
)、反斜線(\
)與
NUL(null
字符)。
一個使用 addslashes()
的例子是當(dāng)你要往數(shù)據(jù)庫中輸入數(shù)據(jù)時。
例如,將名字
O'reilly
插入到數(shù)據(jù)庫中,這就需要對其進行轉(zhuǎn)義。
強烈建議使用 DBMS 指定的轉(zhuǎn)義函數(shù)
(比如 MySQL 是 mysqli_real_escape_string(),PostgreSQL 是 pg_escape_string()),但是如果你使用的 DBMS 沒有一個轉(zhuǎn)義函數(shù),并且使用 \
來轉(zhuǎn)義特殊字符,你可以使用這個函數(shù)。
僅僅是為了獲取插入數(shù)據(jù)庫的數(shù)據(jù),額外的 \
并不會插入。
當(dāng) PHP
指令 magic_quotes_sybase
被設(shè)置成 on
時,意味著插入
'
時將使用
'
進行轉(zhuǎn)義。
PHP 5.4 之前 PHP 指令
magic_quotes_gpc 默認是 on
, 實際上所有的 GET、POST 和 COOKIE 數(shù)據(jù)都用被 addslashes() 了。 不要對已經(jīng)被
magic_quotes_gpc
轉(zhuǎn)義過的字符串使用
addslashes(),因為這樣會導(dǎo)致雙層轉(zhuǎn)義。 遇到這種情況時可以使用函數(shù)
get_magic_quotes_gpc()
進行檢測。
str
要轉(zhuǎn)義的字符。
返回轉(zhuǎn)義后的字符。
示例 #1 一個 addslashes() 例子
<?php
$str = "Is your name O'reilly?";
// 輸出: Is your name O\'reilly?
echo addslashes($str);
?>