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] = "空字符 \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 个注释

0
hippyjim
15 年前
这里需要注意的一点——不知道这是否适用于所有 DB2 安装,我知道我使用的是一个过时的版本,但是我的 DB2 安装需要用 ' 来引用而不是斜杠。

这意味着此函数无法拾取字符串中的撇号 ',因为它添加了 DB2 会忽略的斜杠。

您需要使用类似 str_replace 的方法将您的 ' 替换为 ''。
To Top