]> granicus.if.org Git - php/commitdiff
More SQL strict mode updates
authorUlf Wendel <uw@php.net>
Tue, 8 Jun 2010 13:05:49 +0000 (13:05 +0000)
committerUlf Wendel <uw@php.net>
Tue, 8 Jun 2010 13:05:49 +0000 (13:05 +0000)
ext/mysqli/tests/mysqli_fetch_field_types.phpt
ext/mysqli/tests/mysqli_real_escape_string_big5.phpt
ext/mysqli/tests/mysqli_real_escape_string_eucjpms.phpt
ext/mysqli/tests/mysqli_real_escape_string_euckr.phpt
ext/mysqli/tests/mysqli_real_escape_string_gb2312.phpt
ext/mysqli/tests/mysqli_real_escape_string_gbk.phpt
ext/mysqli/tests/mysqli_real_escape_string_unicode.phpt
ext/mysqli/tests/mysqli_stmt_get_warnings.phpt

index 5d7e5ebc8d4083adbb6bc6d2f84998dddc253629..98332f4a1716213218c5a1e613a7c93c046d530b 100644 (file)
@@ -17,16 +17,20 @@ require_once('skipifconnectfailure.inc');
                        return false;
                }
 
-               $sql = sprintf("CREATE TABLE test(id %s)", $sql_type);
-               if (!mysqli_query($link, $sql)) {
-                       printf("[002] %s, [%d] %s\n", $sql_type,
+               $create = sprintf("CREATE TABLE test(id %s)", $sql_type);
+               if (!mysqli_query($link, $create)) {
+                       printf("[002] '%s' - '%s', [%d] %s\n", $sql_type, $create,
                                mysqli_errno($link), mysqli_error($link));
                        return false;
                }
 
-               $sql = sprintf("INSERT INTO test(id) VALUES ('%s')", $php_value);
+               if (is_string($php_value))
+                       $sql = sprintf("INSERT INTO test(id) VALUES ('%s')", $php_value);
+               else
+                       $sql = sprintf("INSERT INTO test(id) VALUES (%s)", $php_value);
+
                if (!mysqli_query($link, $sql)) {
-                       printf("[003] %s, [%d] %s\n", $sql_type,
+                       printf("[003] '%s' - '%s' - '%s', [%d] %s\n", $sql_type, $create, $sql,
                                mysqli_errno($link), mysqli_error($link));
                        return false;
                }
@@ -85,7 +89,7 @@ require_once('skipifconnectfailure.inc');
                MYSQLI_TYPE_VAR_STRING => array("VARCHAR(32768)", 'varchar'),
                MYSQLI_TYPE_STRING => 'MYSQLI_TYPE_STRING - TODO add testing',
                MYSQLI_TYPE_STRING => array('CHAR(1)', 'a'),
-               MYSQLI_TYPE_STRING => array("SET('I', 'smash', 'the')", 'Will be converted to string although it is a SET...'),
+               MYSQLI_TYPE_STRING => array("SET('I', 'smash', 'the')", 'smash'),
                MYSQLI_TYPE_NULL => 'MYSQLI_TYPE_NULL - TODO add testing',
                MYSQLI_TYPE_NEWDATE => 'MYSQLI_TYPE_NEWDATE - TODO add testing',
                MYSQLI_TYPE_INTERVAL => 'MYSQLI_TYPE_INTERVAL - TODO add testing',
index c2cf980e280a03a3e2e55f2f96842b12f7e9c588..b177c1fd5b6fdb4a74f8f92386af670d73823949 100644 (file)
@@ -20,35 +20,62 @@ mysqli_close($link);
 ?>
 --FILE--
 <?php
-
        require_once("connect.inc");
-       require_once('table.inc');
+
+       if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+{
+               printf("[001] Cannot connect to the server using host=%s, user=%s,
+passwd=***, dbname=%s, port=%s, socket=%s - [%d] %s\n", $host, $user, $db,
+$port, $socket, mysqli_connect_errno(), mysqli_connect_error());
+       }
+
+       if (!mysqli_query($link, 'DROP TABLE IF EXISTS test')) {
+               printf("Failed to drop old test table: [%d] %s\n", mysqli_errno($link),
+mysqli_error($link));
+       }
+
+       if (!mysqli_query($link, 'CREATE TABLE test(id INT, label CHAR(1), PRIMARY
+KEY(id)) ENGINE=' . $engine . " DEFAULT CHARSET=big5")) {
+               printf("Failed to create test table: [%d] %s\n", mysqli_errno($link),
+mysqli_error($link));
+       }
 
        var_dump(mysqli_set_charset($link, "big5"));
 
-       if ('§ä¨ì¥H¤U¤º®e\\\\§ä¨ì¥H¤U¤º®e' !== ($tmp = mysqli_real_escape_string($link, '§ä¨ì¥H¤U¤º®e\\§ä¨ì¥H¤U¤º®e')))
+       if ('§ä¨ì¥H¤U¤º®e\\\\§ä¨ì¥H¤U¤º®e' !== ($tmp = mysqli_real_escape_string($link,
+'§ä¨ì¥H¤U¤º®e\\§ä¨ì¥H¤U¤º®e')))
                printf("[004] Expecting \\\\, got %s\n", $tmp);
 
-       if ('§ä¨ì¥H¤U¤º®e\"§ä¨ì¥H¤U¤º®e' !== ($tmp = mysqli_real_escape_string($link, '§ä¨ì¥H¤U¤º®e"§ä¨ì¥H¤U¤º®e')))
+       if ('§ä¨ì¥H¤U¤º®e\"§ä¨ì¥H¤U¤º®e' !== ($tmp = mysqli_real_escape_string($link,
+'§ä¨ì¥H¤U¤º®e"§ä¨ì¥H¤U¤º®e')))
                printf("[005] Expecting \", got %s\n", $tmp);
 
-       if ("§ä¨ì¥H¤U¤º®e\'§ä¨ì¥H¤U¤º®e" !== ($tmp = mysqli_real_escape_string($link, "§ä¨ì¥H¤U¤º®e'§ä¨ì¥H¤U¤º®e")))
+       if ("§ä¨ì¥H¤U¤º®e\'§ä¨ì¥H¤U¤º®e" !== ($tmp = mysqli_real_escape_string($link,
+"§ä¨ì¥H¤U¤º®e'§ä¨ì¥H¤U¤º®e")))
                printf("[006] Expecting ', got %s\n", $tmp);
 
-       if ("§ä¨ì¥H¤U¤º®e\\n§ä¨ì¥H¤U¤º®e" !== ($tmp = mysqli_real_escape_string($link, "§ä¨ì¥H¤U¤º®e\n§ä¨ì¥H¤U¤º®e")))
+       if ("§ä¨ì¥H¤U¤º®e\\n§ä¨ì¥H¤U¤º®e" !== ($tmp = mysqli_real_escape_string($link,
+"§ä¨ì¥H¤U¤º®e\n§ä¨ì¥H¤U¤º®e")))
                printf("[007] Expecting \\n, got %s\n", $tmp);
 
-       if ("§ä¨ì¥H¤U¤º®e\\r§ä¨ì¥H¤U¤º®e" !== ($tmp = mysqli_real_escape_string($link, "§ä¨ì¥H¤U¤º®e\r§ä¨ì¥H¤U¤º®e")))
+       if ("§ä¨ì¥H¤U¤º®e\\r§ä¨ì¥H¤U¤º®e" !== ($tmp = mysqli_real_escape_string($link,
+"§ä¨ì¥H¤U¤º®e\r§ä¨ì¥H¤U¤º®e")))
                printf("[008] Expecting \\r, got %s\n", $tmp);
 
-       if ("§ä¨ì¥H¤U¤º®e\\0§ä¨ì¥H¤U¤º®e" !== ($tmp = mysqli_real_escape_string($link, "§ä¨ì¥H¤U¤º®e" . chr(0) . "§ä¨ì¥H¤U¤º®e")))
+       if ("§ä¨ì¥H¤U¤º®e\\0§ä¨ì¥H¤U¤º®e" !== ($tmp = mysqli_real_escape_string($link, "§ä¨ì¥H¤U¤º®e"
+. chr(0) . "§ä¨ì¥H¤U¤º®e")))
                printf("[009] Expecting %s, got %s\n", "§ä¨ì¥H¤U¤º®e\\0§ä¨ì¥H¤U¤º®e", $tmp);
 
-       var_dump(mysqli_query($link, "INSERT INTO test(id, label) VALUES (100, '§ä')"));
+       var_dump(mysqli_query($link, "INSERT INTO test(id, label) VALUES (100,
+'§ä')"));
 
        mysqli_close($link);
        print "done!";
 ?>
+--CLEAN--
+<?php
+       require_once("clean_table.inc");
+?>
 --EXPECTF--
 bool(true)
 bool(true)
index 09f8099c6e716f375f985fb2be61432200bb80b8..cf4afb6f6bc7bc4b14423317b82a1c73d8690dbb 100644 (file)
@@ -20,8 +20,25 @@ mysqli_close($link);
 ?>
 --FILE--
 <?php
-       require_once("connect.inc");
-       require_once('table.inc');
+require_once("connect.inc");
+
+       if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+{
+               printf("[001] Cannot connect to the server using host=%s, user=%s,
+passwd=***, dbname=%s, port=%s, socket=%s - [%d] %s\n", $host, $user, $db,
+$port, $socket, mysqli_connect_errno(), mysqli_connect_error());
+       }
+
+       if (!mysqli_query($link, 'DROP TABLE IF EXISTS test')) {
+               printf("Failed to drop old test table: [%d] %s\n", mysqli_errno($link),
+mysqli_error($link));
+       }
+
+       if (!mysqli_query($link, 'CREATE TABLE test(id INT, label CHAR(1), PRIMARY
+KEY(id)) ENGINE=' . $engine . " DEFAULT CHARSET=eucjpms")) {
+               printf("Failed to create test table: [%d] %s\n", mysqli_errno($link),
+mysqli_error($link));
+       }
 
        var_dump(mysqli_set_charset($link, "eucjpms"));
 
@@ -48,6 +65,10 @@ mysqli_close($link);
        mysqli_close($link);
        print "done!";
 ?>
+--CLEAN--
+<?php
+       require_once("clean_table.inc");
+?>
 --EXPECTF--
 bool(true)
 bool(true)
index 6384d9fca798128404553ab3276975819b4c0abb..7ac7497b80d6b969e55816a40d0c7913dab60735 100644 (file)
@@ -21,7 +21,23 @@ mysqli_close($link);
 --FILE--
 <?php
        require_once("connect.inc");
-       require_once('table.inc');
+       if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+{
+               printf("[001] Cannot connect to the server using host=%s, user=%s,
+passwd=***, dbname=%s, port=%s, socket=%s - [%d] %s\n", $host, $user, $db,
+$port, $socket, mysqli_connect_errno(), mysqli_connect_error());
+       }
+
+       if (!mysqli_query($link, 'DROP TABLE IF EXISTS test')) {
+               printf("Failed to drop old test table: [%d] %s\n", mysqli_errno($link),
+mysqli_error($link));
+       }
+
+       if (!mysqli_query($link, 'CREATE TABLE test(id INT, label CHAR(1), PRIMARY
+KEY(id)) ENGINE=' . $engine . " DEFAULT CHARSET=euckr")) {
+               printf("Failed to create test table: [%d] %s\n", mysqli_errno($link),
+mysqli_error($link));
+       }
 
        var_dump(mysqli_set_charset($link, "euckr"));
 
@@ -48,6 +64,10 @@ mysqli_close($link);
        mysqli_close($link);
        print "done!";
 ?>
+--CLEAN--
+<?php
+       require_once("clean_table.inc");
+?>
 --EXPECTF--
 bool(true)
 bool(true)
index 0994b49fbdee81bc5e08410598b30b1fea088fec..b93d8154fa5b7828144f8817e42be18c9ece3bb0 100644 (file)
@@ -22,7 +22,23 @@ mysqli_close($link);
 <?php
 
        require_once("connect.inc");
-       require_once('table.inc');
+       if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+{
+               printf("[001] Cannot connect to the server using host=%s, user=%s,
+passwd=***, dbname=%s, port=%s, socket=%s - [%d] %s\n", $host, $user, $db,
+$port, $socket, mysqli_connect_errno(), mysqli_connect_error());
+       }
+
+       if (!mysqli_query($link, 'DROP TABLE IF EXISTS test')) {
+               printf("Failed to drop old test table: [%d] %s\n", mysqli_errno($link),
+mysqli_error($link));
+       }
+
+       if (!mysqli_query($link, 'CREATE TABLE test(id INT, label CHAR(1), PRIMARY
+KEY(id)) ENGINE=' . $engine . " DEFAULT CHARSET=gb2312")) {
+               printf("Failed to create test table: [%d] %s\n", mysqli_errno($link),
+mysqli_error($link));
+       }
 
        var_dump(mysqli_set_charset($link, "gb2312"));
 
@@ -49,6 +65,10 @@ mysqli_close($link);
        mysqli_close($link);
        print "done!";
 ?>
+--CLEAN--
+<?php
+       require_once("clean_table.inc");
+?>
 --EXPECTF--
 bool(true)
 bool(true)
index 7965abf9d37f8a3da299d7988d70d6feafd12d14..2fd1121a76ad0813ed05f506c2c77962c87063ac 100644 (file)
@@ -24,7 +24,23 @@ mysqli_close($link);
 <?php
 
        require_once("connect.inc");
-       require_once('table.inc');
+       if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+{
+               printf("[001] Cannot connect to the server using host=%s, user=%s,
+passwd=***, dbname=%s, port=%s, socket=%s - [%d] %s\n", $host, $user, $db,
+$port, $socket, mysqli_connect_errno(), mysqli_connect_error());
+       }
+
+       if (!mysqli_query($link, 'DROP TABLE IF EXISTS test')) {
+               printf("Failed to drop old test table: [%d] %s\n", mysqli_errno($link),
+mysqli_error($link));
+       }
+
+       if (!mysqli_query($link, 'CREATE TABLE test(id INT, label CHAR(1), PRIMARY
+KEY(id)) ENGINE=' . $engine . " DEFAULT CHARSET=gbk")) {
+               printf("Failed to create test table: [%d] %s\n", mysqli_errno($link),
+mysqli_error($link));
+       }
 
        var_dump(mysqli_set_charset($link, "gbk"));
 
@@ -51,6 +67,10 @@ mysqli_close($link);
        mysqli_close($link);
        print "done!";
 ?>
+--CLEAN--
+<?php
+       require_once("clean_table.inc");
+?>
 --EXPECTF--
 bool(true)
 bool(true)
index 79309923c4e2058274488bdcb966a56cbe7ac0ff..72d171f9e595dcdb37c51cac408f11a889137e33 100644 (file)
@@ -79,6 +79,10 @@ require_once('skipifconnectfailure.inc');
 
        print "done!";
 ?>
+--CLEAN--
+<?php
+       require_once("clean_table.inc");
+?>
 --EXPECTF--
 Warning: mysqli_real_escape_string(): Couldn't fetch mysqli in %s on line %d
 done!
\ No newline at end of file
index b8ca14eaffc7581f0855c58d95bbde64a9a4f29d..2b0e150ded07088d8b8c812c94bc091b30cd711c 100644 (file)
@@ -5,6 +5,22 @@ mysqli_stmt_get_warnings() - TODO
 require_once('skipif.inc');
 require_once('skipifemb.inc');
 require_once('skipifconnectfailure.inc');
+
+require_once("connect.inc");
+
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
+       die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
+               $host, $user, $db, $port, $socket));
+}
+
+if (!mysqli_query($link, "DROP TABLE IF EXISTS test") ||
+       !mysqli_query($link, "CREATE TABLE test(id SMALLINT)"))
+       die(sprintf("skip [%d] %s\n", $link->errno, $link->error));
+
+if (!@mysqli_query("INSERT INTO test(id) VALUES (100001)"))
+       die("skip Strict sql mode seems to be active. We won't get a warning to check for.");
+
+mysqli_query($link, "DROP TABLE IF EXISTS test");
 ?>
 --FILE--
 <?php