PHP Unconference Europe 2015

db2_escape_string

(PECL ibm_db2 >= 1.6.0)

db2_escape_string Used to escape certain characters

Description

string db2_escape_string ( string $string_literal )

Prepends backslashes to special characters in the string argument.

Parameters

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.

Return Values

Returns string_literal with the special characters noted above prepended with backslashes.

Examples

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";
    }
}
?>

The above example will output:

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:

See Also

add a note add a note

User Contributed Notes 1 note

up
0
hippyjim
5 years ago
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 ''.
To Top