Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

svn: /php/php-src/branches/PHP_5_3/ext/mysqli/tests/ mysqli_magic_quotes.phpt

35 views
Skip to first unread message

Ulf Wendel

unread,
Sep 3, 2010, 10:20:32 AM9/3/10
to php...@lists.php.net
uw Fri, 03 Sep 2010 14:20:32 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=303026

Log:
Test for http://bugs.php.net/52221. Test will fail with mysqlnd but should pass with libmysql.

Changed paths:
A php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_magic_quotes.phpt

Added: php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_magic_quotes.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_magic_quotes.phpt (rev 0)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_magic_quotes.phpt 2010-09-03 14:20:32 UTC (rev 303026)
@@ -0,0 +1,170 @@
+--TEST--
+magic_quotes_runtime (DEPRECATED)
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifemb.inc');
+require_once('skipifconnectfailure.inc');
+
+if (version_compare(PHP_VERSION, '5.3.98') >= 0) {
+ die("skip: PHP 5.3 test");
+}
+?>
+--INI--
+magic_quotes_runtime=1
+--FILE--
+<?php
+ require('connect.inc');
+
+ if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+ printf("[001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
+
+ $query = sprintf("SELECT '%s', '%s', '%s', '%s' FROM DUAL",
+ mysqli_real_escape_string($link, "'"),
+ mysqli_real_escape_string($link, '"'),
+ mysqli_real_escape_string($link, '\0'),
+ mysqli_real_escape_string($link, '\\'));
+
+ if (!$res = mysqli_query($link, $query)) {
+ printf("[002] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+ }
+
+ while ($row = $res->fetch_assoc()) {
+ var_dump($row);
+ }
+
+ $res->free();
+
+ $expected = array(
+ "'" => "\\'",
+ '"' => "\\\"",
+ "\\0" => "\\\\0",
+ "\\" => "\\\\",
+ );
+
+ if (!$res = mysqli_query($link, $query)) {
+ printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+ }
+ $row = mysqli_fetch_row($res);
+ $idx = 0;
+ foreach ($expected as $key => $value) {
+ if (!isset($row[$idx]))
+ printf("[004] Index %d missing\n", $idx);
+
+ if ($row[$idx] !== $value)
+ printf("[005] Expecting %d => %s got %d => %s\n", $idx, $value, $idx, $row[$idx]);
+
+ unset($row[$idx]);
+ $idx++;
+ }
+ if (count($row) != 0) {
+ printf("[006] Unexpected results, dumping\n");
+ var_dump($row);
+ }
+ $res->free();
+
+ if (!$res = mysqli_query($link, $query)) {
+ printf("[007] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+ }
+ $row = mysqli_fetch_array($res, MYSQLI_BOTH);
+ $idx = 0;
+ foreach ($expected as $key => $value) {
+ if (!isset($row[$idx]))
+ printf("[008] Index %d missing\n", $idx);
+
+ if ($row[$idx] !== $value)
+ printf("[009] Expecting %d => %s got %d => %s\n", $idx, $value, $idx, $row[$idx]);
+
+ unset($row[$idx]);
+ $idx++;
+
+ if (!isset($row[$key]))
+ printf("[010] Index %s missing\n", $key);
+
+ if ($row[$key] !== $value)
+ printf("[011] Expecting %s => %s got %s => %s\n", $key, $value, $key, $row[$key]);
+
+ unset($row[$key]);
+ }
+ if (count($row) != 0) {
+ printf("[012] Unexpected results, dumping\n");
+ var_dump($row);
+ }
+ $res->free();
+
+ class fetch_object {
+ public function __set($key, $value) {
+ printf(">%s< => >%s<\n", $key, $value);
+ }
+ }
+
+ if (!$res = mysqli_query($link, $query)) {
+ printf("[013] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+ }
+ $obj = mysqli_fetch_object($res, "fetch_object");
+ $res->free();
+
+ if (false && $IS_MYSQLND) {
+ if (!$res = mysqli_query($link, $query)) {
+ printf("[014] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+ }
+ $row = @mysqli_fetch_all($res, MYSQLI_ASSOC);
+ if ($row[0] !== $expected) {
+ printf("[015] Wrong data, dumping\n");
+ var_dump($row);
+ }
+ }
+
+ $link->close();
+
+ print "done!";
+?>
+--EXPECTF--
+Deprecated: Directive 'magic_quotes_runtime' is deprecated in PHP 5.3 and greater in %s on line %d
+
+Warning: mysqli_result::fetch_assoc(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_result::fetch_assoc(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_result::fetch_assoc(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_result::fetch_assoc(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+array(4) {
+ ["'"]=>
+ string(2) "\'"
+ ["""]=>
+ string(2) "\""
+ ["\0"]=>
+ string(3) "\\0"
+ ["\"]=>
+ string(2) "\\"
+}
+
+Warning: mysqli_fetch_row(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_fetch_row(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_fetch_row(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_fetch_row(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_fetch_array(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_fetch_array(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_fetch_array(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_fetch_array(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_fetch_object(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_fetch_object(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_fetch_object(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+
+Warning: mysqli_fetch_object(): magic_quotes_runtime are deprecated since PHP 5.3 in %s on line %d
+>'< => >\'<
+>"< => >\"<
+>\0< => >\\0<
+>\< => >\\<
+done!
\ No newline at end of file

0 new messages