Bug #52221 [Asn->Ver]: Misbehaviour of magic_quotes_runtime (get/set))
| From: | andrey@php.net | Date: | Wed, 25 Aug 2010 14:28:16 +0000 |
| Subject: | Bug #52221 [Asn->Ver]: Misbehaviour of magic_quotes_runtime (get/set)) | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-4927@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=52221&edit=1
ID: 52221
Updated by: andrey@php.net
Reported by: m dot philipp at coreto dot de
Summary: Misbehaviour of magic_quotes_runtime (get/set))
-Status: Assigned
+Status: Verified
Type: Bug
Package: Documentation problem
Operating System: Windows Server 2008 R2
PHP Version: 5.3.2
-Assigned To: mysql
+Assigned To:
Block user comment: N
New Comment:
Doc Problem, not for user mysql.
Previous Comments:
------------------------------------------------------------------------
[2010-08-25 16:27:44] andrey@php.net
It should be documented that mysqlnd is a new development and doesn't
implement magic quotes. PDO is a new development too, and doesn't
implement magic quotes too. What can be done is adding a
php_error_docref(E_WARNING) at MINIT/RINIT which will tell the developer
that if mysqlnd is active and magic_quotes is set that it won't work
with mysqli. Also a warning can be thrown at every mysqli call.
------------------------------------------------------------------------
[2010-08-25 15:55:47] uw@php.net
mysqlnd does not support magic quotes any more. It is a deprecated
feature and mysqlnd is new. The documentation should note that.
------------------------------------------------------------------------
[2010-07-19 07:54:20] m dot philipp at coreto dot de
Package correction
------------------------------------------------------------------------
[2010-07-01 14:13:36] m dot philipp at coreto dot de
Description:
------------
The documentation lists the get_magic_quotes_runtime() /
set_magic_quotes_runtime() functions as DEPRECATED as of this PHP
version. They still exist and can be called, but already work
inconsistent. When magic_quotes_runtime
file_get_contents() still escapes data, mysqli_fetch_assoc() does not
anymore.
Test script:
---------------
<?php
set_magic_quotes_runtime(1);
echo "GMQR: ";
var_dump(get_magic_quotes_runtime());
$c = mysqli_connect();
mysqli_select_db($c, "test");
$r = mysqli_query($c, "select t from test;");
$ra = mysqli_fetch_assoc($r);
echo "\nDB test:\n" . $ra['t'];
$f = file_get_contents("test.txt");
echo "\n\nfile test.txt:\n" . $f;
----
Content of "test.txt" and table "t":
backslash: \
slash: /
double backslash: \\
quotes: "
single quotes: '
Expected result:
----------------
Expecting similar behaviour from both function calls, dependent of the
acutal magic_quotes_runtime setting.
-OR-
throwing a fatal or catchable_fatal error that unexpectet results can
occur. A function thould be completely removed instead of marked as
deprecated, when it starts to stop working like before.
Actual result:
--------------
Deprecated: Function set_magic_quotes_runtime() is deprecated in
test.php on line 1
GMQR: int(1)
DB test:
backslash: \
slash: /
double backslash: \\
quotes: "
single quotes: '
file test.txt:
backslash: \\
slash: /
double backslash: \\\\
quotes: \"
single quotes: \'
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=52221&edit=1