PHP Conference Japan 2024

db2_escape_string

(PECL ibm_db2 >= 1.6.0)

db2_escape_string 用於跳脫特定字元

說明

db2_escape_string(字串 $string_literal): 字串

在字串參數中的特殊字元前加上反斜線。

參數

string_literal (字串字面值)

此函式會修改包含特殊字元的字串。需要加上反斜線的字元有:\x00\n\r\'"\x1a

回傳值

回傳加上反斜線的特殊字元的 `string_literal`。

範例

範例 #1 db2_escape_string() 函式範例

使用 db2_escape_string() 函式的結果

<?php

$conn
= db2_connect($database, $user, $password);

if (
$conn) {
$str[0] = "所有字元:\x00 , \n , \r , \ , ' , \" , \x1a .";
$str[1] = "反斜線 (\\)。單引號 (')。雙引號 (\")";
$str[2] = "NULL 字元 \\0 也必須被加上引號";
$str[3] = "特殊字元:\x1a , \x00 .";
$str[4] = "沒有需要加上引號的字元";
$str[5] = 200676;
$str[6] = "";

foreach(
$str as $string ) {
echo
"db2_escape_string: " . db2_escape_string($string). "\n";
}
}
?>

上述範例將輸出:

db2_escape_string: All characters: \0 , \n , \r , \\ , \' , \" , \Z .
db2_escape_string: Backslash (\\). Single quote (\'). Double quote (\")
db2_escape_string: The NULL character \0 must be quoted as well
db2_escape_string: Intersting characters: \Z , \0 .
db2_escape_string: Nothing to quote
db2_escape_string: 200676
db2_escape_string:

另請參閱

新增註記

使用者貢獻的註記 1 則註記

hippyjim
15 年前
有一點要注意 - 不知道這是否適用於所有 DB2 安裝,而且我知道我使用的是過時的版本,但我的 DB2 安裝希望用 ' 來引號而不是反斜線。

這意味著此函式無法處理字串中的單引號 ',因為它添加了 DB2 會忽略的反斜線。

您需要使用類似 str_replace 的函式將您的 ' 替換為 ''。
To Top