From 6b1d256af52e87054742a9d1fac9d686d3aa1fb3 Mon Sep 17 00:00:00 2001 From: Ulf Wendel Date: Tue, 8 Jun 2010 13:05:49 +0000 Subject: [PATCH] More SQL strict mode updates --- .../tests/mysqli_fetch_field_types.phpt | 16 ++++--- .../tests/mysqli_real_escape_string_big5.phpt | 45 +++++++++++++++---- .../mysqli_real_escape_string_eucjpms.phpt | 25 ++++++++++- .../mysqli_real_escape_string_euckr.phpt | 22 ++++++++- .../mysqli_real_escape_string_gb2312.phpt | 22 ++++++++- .../tests/mysqli_real_escape_string_gbk.phpt | 22 ++++++++- .../mysqli_real_escape_string_unicode.phpt | 4 ++ .../tests/mysqli_stmt_get_warnings.phpt | 16 +++++++ 8 files changed, 152 insertions(+), 20 deletions(-) diff --git a/ext/mysqli/tests/mysqli_fetch_field_types.phpt b/ext/mysqli/tests/mysqli_fetch_field_types.phpt index 5d7e5ebc8d..98332f4a17 100644 --- a/ext/mysqli/tests/mysqli_fetch_field_types.phpt +++ b/ext/mysqli/tests/mysqli_fetch_field_types.phpt @@ -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', diff --git a/ext/mysqli/tests/mysqli_real_escape_string_big5.phpt b/ext/mysqli/tests/mysqli_real_escape_string_big5.phpt index c2cf980e28..b177c1fd5b 100644 --- a/ext/mysqli/tests/mysqli_real_escape_string_big5.phpt +++ b/ext/mysqli/tests/mysqli_real_escape_string_big5.phpt @@ -20,35 +20,62 @@ mysqli_close($link); ?> --FILE-- +--CLEAN-- + --EXPECTF-- bool(true) bool(true) diff --git a/ext/mysqli/tests/mysqli_real_escape_string_eucjpms.phpt b/ext/mysqli/tests/mysqli_real_escape_string_eucjpms.phpt index 09f8099c6e..cf4afb6f6b 100644 --- a/ext/mysqli/tests/mysqli_real_escape_string_eucjpms.phpt +++ b/ext/mysqli/tests/mysqli_real_escape_string_eucjpms.phpt @@ -20,8 +20,25 @@ mysqli_close($link); ?> --FILE-- +--CLEAN-- + --EXPECTF-- bool(true) bool(true) diff --git a/ext/mysqli/tests/mysqli_real_escape_string_euckr.phpt b/ext/mysqli/tests/mysqli_real_escape_string_euckr.phpt index 6384d9fca7..7ac7497b80 100644 --- a/ext/mysqli/tests/mysqli_real_escape_string_euckr.phpt +++ b/ext/mysqli/tests/mysqli_real_escape_string_euckr.phpt @@ -21,7 +21,23 @@ mysqli_close($link); --FILE-- +--CLEAN-- + --EXPECTF-- bool(true) bool(true) diff --git a/ext/mysqli/tests/mysqli_real_escape_string_gb2312.phpt b/ext/mysqli/tests/mysqli_real_escape_string_gb2312.phpt index 0994b49fbd..b93d8154fa 100644 --- a/ext/mysqli/tests/mysqli_real_escape_string_gb2312.phpt +++ b/ext/mysqli/tests/mysqli_real_escape_string_gb2312.phpt @@ -22,7 +22,23 @@ mysqli_close($link); +--CLEAN-- + --EXPECTF-- bool(true) bool(true) diff --git a/ext/mysqli/tests/mysqli_real_escape_string_gbk.phpt b/ext/mysqli/tests/mysqli_real_escape_string_gbk.phpt index 7965abf9d3..2fd1121a76 100644 --- a/ext/mysqli/tests/mysqli_real_escape_string_gbk.phpt +++ b/ext/mysqli/tests/mysqli_real_escape_string_gbk.phpt @@ -24,7 +24,23 @@ mysqli_close($link); +--CLEAN-- + --EXPECTF-- bool(true) bool(true) diff --git a/ext/mysqli/tests/mysqli_real_escape_string_unicode.phpt b/ext/mysqli/tests/mysqli_real_escape_string_unicode.phpt index 79309923c4..72d171f9e5 100644 --- a/ext/mysqli/tests/mysqli_real_escape_string_unicode.phpt +++ b/ext/mysqli/tests/mysqli_real_escape_string_unicode.phpt @@ -79,6 +79,10 @@ require_once('skipifconnectfailure.inc'); print "done!"; ?> +--CLEAN-- + --EXPECTF-- Warning: mysqli_real_escape_string(): Couldn't fetch mysqli in %s on line %d done! \ No newline at end of file diff --git a/ext/mysqli/tests/mysqli_stmt_get_warnings.phpt b/ext/mysqli/tests/mysqli_stmt_get_warnings.phpt index b8ca14eaff..2b0e150ded 100644 --- a/ext/mysqli/tests/mysqli_stmt_get_warnings.phpt +++ b/ext/mysqli/tests/mysqli_stmt_get_warnings.phpt @@ -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--