©
このドキュメントでは、 php中国語ネットマニュアル リリース
(PECL ibm_db2 >= 1.6.0)
db2_escape_string — Used to escape certain characters
$string_literal
)Prepends backslashes to special characters in the string argument.
string_literal
The string that contains special characters that need to be modified. Characters that are prepended with a backslash are \x00, \n, \r, \, ', " and \x1a.
Returns string_literal
with the special characters
noted above prepended with backslashes.
Example #1 A db2_escape_string() example
Result of using the db2_escape_string() function
<?php
$conn = db2_connect ( $database , $user , $password );
if ( $conn ) {
$str [ 0 ] = "All characters: \x00 , \n , \r , \ , ' , \" , \x1a ." ;
$str [ 1 ] = "Backslash (\). Single quote ('). Double quote (\")" ;
$str [ 2 ] = "The NULL character \0 must be quoted as well" ;
$str [ 3 ] = "Intersting characters: \x1a , \x00 ." ;
$str [ 4 ] = "Nothing to quote" ;
$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 [2009-05-27 06:52:43]
One thing to note here - don't know if it applies to all DB2 installations, and I know I'm using an antiquated one, but my DB2 install wants a ' to be quoted rather than slashed.
That means this function is useless to pick up apostrophes ' in strings, as it adds a slash which DB2 ignores.
You'll need to use something like str_replace to swap your ' for ''.