#32750 [Fbk->Opn]: pg_escape_string removes some backslashes
| From: | master-bx at users dot sourceforge dot net | Date: | Wed, 20 Apr 2005 21:16:17 +0000 |
| Subject: | #32750 [Fbk->Opn]: pg_escape_string removes some backslashes | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-77966@lists.php.net to get a copy of this message | ||
ID: 32750
User updated by: master-bx at users dot sourceforge dot net
Reported By: master-bx at users dot sourceforge dot net
-Status: Feedback
+Status: Open
Bug Type: PostgreSQL related
Operating System: Windows XP SP2
PHP Version: 5.0.4
New Comment:
Parse error: syntax error, unexpected $end in
***\Apache2\htdocs\test.php on line 6
So my example has been wrong, sorry. Tried it with '\ \\ \\\\' and got
the following:
string(6) '\ \ \\' string(10) '\\ \\ \\\\'
So it does well, but ...
to better describe my problem: mysql_real_escape_string does it another
way, because it handles POST-data correct for database-storage.
pg_escape_string and mysqli_real_escape_string are cutting some \ and i
don't get the data stored like the input cames from POST. do you
understand it now or need a larger example?
Previous Comments:
------------------------------------------------------------------------
[2005-04-20 17:06:09] sniper@php.net
Please paste the exact output of this script:
<?php
$var = '\ \\ \\\';
var_dump($var);
$test = pg_escape_string($var);
var_dump($test);
?>
------------------------------------------------------------------------
[2005-04-20 11:36:45] master-bx at users dot sourceforge dot net
$var outputs \ \\ \\\ before and after it, and $test doesn't get an
extra \ in most of my tests.
------------------------------------------------------------------------
[2005-04-20 09:16:16] sniper@php.net
Isn't the expected result supposed to be:
'\\ \\\\ \\\\\\'
What does var_dump($var); output before and after doing
pg_escape_string() ?
------------------------------------------------------------------------
[2005-04-18 21:42:37] master-bx at users dot sourceforge dot net
Description:
------------
Some backslashes are lost after using that function, same bug seems to
be in mysqli_real_escape_string.
Another function (mysql_real_escape_string) does well, if this is not a
bug please give me a solution to fix this.
Thank you,
hajo @ bxcp.com
Reproduce code:
---------------
$var = '\ \\ \\\';
$test = pg_escape_string($var);
echo $test;
Expected result:
----------------
'\ \\ \\\'
Actual result:
--------------
' \ \\'
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=32750&edit=1