public function connect() { require_once "connect.inc"; $link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket); var_dump($link); $link = mysqli_init(); /* @ is to suppress 'Property access is not allowed yet' */ @var_dump($link); $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $mysql->query("DROP TABLE IF EXISTS test_bug34810_table_1"); $mysql->query("CREATE TABLE test_bug34810_table_1 (a int not null)"); $mysql->query("SET sql_mode=''"); $mysql->query("INSERT INTO test_bug34810_table_1 VALUES (1),(2),(NULL)"); $warning = $mysql->get_warnings(); if (!$warning) { printf("[001] No warning!\n"); } if ($warning->errno == 1048 || $warning->errno == 1253) { /* 1048 - Column 'a' cannot be null, 1263 - Data truncated; NULL supplied to NOT NULL column 'a' at row */ if ("HY000" != $warning->sqlstate) { printf("[003] Wrong sql state code: %s\n", $warning->sqlstate); } if ("" == $warning->message) { printf("[004] Message string must not be empty\n"); } } else { printf("[002] Empty error message!\n"); var_dump($warning); } }
<?php require_once "connect.inc"; $tmp = NULL; $link = NULL; $mysqli = new mysqli(); if (!($mysqli = new my_mysqli($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\n", $host, $user, $db, $port, $socket); } if (true !== ($tmp = $mysqli->commit())) { printf("[002] Expecting boolean/true got %s/%s\n", gettype($tmp), $tmp); } if (true !== ($tmp = $mysqli->autocommit(false))) { printf("[003] Cannot turn off autocommit, expecting true, got %s/%s\n", gettype($tmp), $tmp); } if (!$mysqli->query('DROP TABLE IF EXISTS test_mysqli_commit_oo_table_1')) { printf("[004] [%d] %s\n", $mysqli->errno, $mysqli->error); } if (!$mysqli->query('CREATE TABLE test_mysqli_commit_oo_table_1(id INT) ENGINE = InnoDB')) { printf("[005] Cannot create test table, [%d] %s\n", $mysqli->errno, $mysqli->error); } if (!$mysqli->query('INSERT INTO test_mysqli_commit_oo_table_1(id) VALUES (1)')) { printf("[006] [%d] %s\n", $mysqli->errno, $mysqli->error); } $tmp = $mysqli->commit(); if ($tmp !== true) { printf("[007] Expecting boolean/true, got %s/%s\n", gettype($tmp), $tmp); } if (!$mysqli->query('ROLLBACK')) { printf("[008] [%d] %s\n", $mysqli->errno, $mysqli->error); }
<?php require_once "connect.inc"; $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $mysql->query("CREATE TABLE test_bug35517_table_1 (id INT UNSIGNED NOT NULL)"); $mysql->query("INSERT INTO test_bug35517_table_1 (id) VALUES (3000000897),(3800001532),(3900002281),(3100059612)"); $stmt = $mysql->prepare("SELECT id FROM test_bug35517_table_1"); $stmt->execute(); $stmt->bind_result($id); while ($stmt->fetch()) { if (PHP_INT_SIZE == 8) { if (gettype($id) !== 'int' && gettype($id) != 'integer') { printf("[001] Expecting integer on 64bit got %s/%s\n", gettype($id), var_export($id, true)); } } else { if (gettype($id) !== 'string') { printf("[002] Expecting string on 32bit got %s/%s\n", gettype($id), var_export($id, true)); } if (version_compare(PHP_VERSION, '5.9.9', '>') == 1 && !is_unicode($id)) { printf("[003] Expecting unicode string\n"); } } print $id; print "\n"; } $stmt->close(); $mysql->query("DROP TABLE test_bug35517_table_1"); $mysql->close(); print "done!"; require_once "connect.inc"; if (!($link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))) {
<?php require_once "connect.inc"; $db = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $qry = $db->stmt_init(); $qry->prepare("SELECT REPEAT('a',100000)"); $qry->execute(); $qry->bind_result($text); $qry->fetch(); if ($text !== str_repeat('a', $IS_MYSQLND || mysqli_get_server_version($db) > 50110 ? 100000 : (mysqli_get_server_version($db) >= 50000 ? 8193 : 8191))) { var_dump(strlen($text)); } echo "Done";
<?php /* NOTE: http://bugs.mysql.com/bug.php?id=7923 makes this test fail very likely on all 4.1.x - 5.0.x! */ require_once "connect.inc"; $tmp = NULL; $link = NULL; if (!($mysqli = new my_mysqli($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\n", $host, $user, $db, $port, $socket); } if (!is_null($tmp = @$mysqli->character_set_name($link))) { printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); } if (!($res = $mysqli->query('SELECT version() AS server_version'))) { printf("[003] [%d] %s\n", $mysqli->errno, $mysqli->error); } $tmp = $res->fetch_assoc(); $res->free_result(); $version = explode('.', $tmp['server_version']); if (empty($version)) { printf("[006] Cannot determine server version, need MySQL Server 4.1+ for the test!\n"); } if ($version[0] <= 4 && $version[1] < 1) { printf("[007] Need MySQL Server 4.1+ for the test!\n"); } if (!($res = $mysqli->query('SELECT @@character_set_connection AS charset, @@collation_connection AS collation'))) { printf("[008] [%d] %s\n", $mysqli->errno, $mysqli->error); } $tmp = $res->fetch_assoc(); $res->free_result(); if (!$tmp['charset']) { printf("[009] Cannot determine current character set and collation\n");
<?php require_once "connect.inc"; set_error_handler('handle_catchable_fatal'); $tmp = NULL; $link = NULL; $mysqli = new mysqli(); $res = @new mysqli_result($mysqli); if (!is_null($tmp = @$res->fetch_object())) { printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); } require 'table.inc'; if (!($mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket))) { printf("[002] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", $host, $user, $db, $port, $socket); } if (!($res = $mysqli->query("SELECT id AS ID, label FROM test AS TEST ORDER BY id LIMIT 5"))) { printf("[003] [%d] %s\n", $mysqli->errno, $mysqli->error); } if (!is_null($tmp = @$res->fetch_object($link))) { printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); } try { if (!is_null($tmp = @$res->fetch_object($link, $link))) { printf("[005] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); } } catch (Error $e) { handle_catchable_fatal($e->getCode(), $e->getMessage(), $e->getFile(), $e->getLine()); } try { if (!is_null($tmp = @$res->fetch_object($link, $link, $link))) { printf("[006] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
require_once "connect.inc"; $host = 'p:' . $host; 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\n", $host, $user, $db, $port, $socket); } if (true !== ($tmp = my_mysqli_real_connect($link, $host, $user, $passwd, $db, $port, $socket))) { printf("[003] Expecting boolean/true got %s/%s\n", gettype($tmp), $tmp); } /* it is undefined which pooled connection we get - thread ids may differ */ if (!($res = mysqli_query($link, "SELECT 'ok' AS it_works")) || !($row = mysqli_fetch_assoc($res))) { printf("[006] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); } var_dump($row); mysqli_free_result($res); mysqli_close($link); if (!($link = new my_mysqli($host, $user, $passwd, $db, $port, $socket))) { printf("[007] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", $host, $user, $db, $port, $socket); } if (true !== ($tmp = $link->real_connect($host, $user, $passwd, $db, $port, $socket))) { printf("[009] Expecting boolean/true got %s/%s\n", gettype($tmp), $tmp); } /* it is undefined which pooled connection we get - thread ids may differ */ if (!($res = $link->query("SELECT 'works also with oo' AS syntax")) || !($row = $res->fetch_assoc())) { printf("[012] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); } var_dump($row); mysqli_free_result($res); mysqli_close($link); if (NULL !== ($tmp = $link->connect($host, $user, $passwd, $db, $port, $socket))) { printf("[013] Expecting NULL got %s/%s\n", gettype($tmp), $tmp); }
<?php require_once "connect.inc"; if (!($mysqli = new my_mysqli($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\n", $host, $user, $db, $port, $socket); } if (!is_bool($tmp = $mysqli->autocommit(true))) { printf("[002] Expecting boolean/any, got %s/%s\n", gettype($tmp), $tmp); } if (!$mysqli->query('SET AUTOCOMMIT = 0')) { printf("[003] [%d] %s\n", $mysqli->errno, $mysqli->error); } if (!($res = $mysqli->query('SELECT @@autocommit as auto_commit'))) { printf("[004] [%d] %s\n", $mysqli->errno, $mysqli->error); } $tmp = $res->fetch_assoc(); $res->free_result(); if ($tmp['auto_commit']) { printf("[005] Cannot turn off autocommit\n"); } if (true !== ($tmp = $mysqli->autocommit(true))) { printf("[006] Expecting true, got %s/%s\n", gettype($tmp), $tmp); } if (!($res = $mysqli->query('SELECT @@autocommit as auto_commit'))) { printf("[007] [%d] %s\n", $mysqli->errno, $mysqli->error); } $tmp = $res->fetch_assoc(); $res->free_result(); if (!$tmp['auto_commit']) { printf("[008] Cannot turn on autocommit\n"); }
printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); } if (!is_null($tmp = @$mysqli->change_user($link, $link, $link, $link))) { printf("[005] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); } if (false !== ($tmp = $mysqli->change_user($user . '_unknown_really', $passwd . 'non_empty', $db))) { printf("[006] Expecting false, got %s/%s\n", gettype($tmp), $tmp); } if (false !== ($tmp = $mysqli->change_user($user, $passwd . '_unknown_really', $db))) { printf("[007] Expecting false, got %s/%s\n", gettype($tmp), $tmp); } if (false !== ($tmp = $mysqli->change_user($user, $passwd, $db . '_unknown_really'))) { printf("[008] Expecting false, got %s/%s\n", gettype($tmp), $tmp); } // Reconnect because after 3 failed change_user attempts, the server blocks you off. if (!($mysqli = new my_mysqli($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\n", $host, $user, $db, $port, $socket); } if (!$mysqli->query('SET @mysqli_change_user_test_var=1')) { printf("[009] Failed to set test variable: [%d] %s\n", $mysqli->errno, $mysqli->error); } if (!($res = $mysqli->query('SELECT @mysqli_change_user_test_var AS test_var'))) { printf("[010] [%d] %s\n", $mysqli->errno, $mysqli->error); } $tmp = $res->fetch_assoc(); $res->free_result(); if (1 != $tmp['test_var']) { printf("[011] Cannot set test variable\n"); } if (true !== ($tmp = $mysqli->change_user($user, $passwd, $db))) { printf("[012] Expecting true, got %s/%s\n", gettype($tmp), $tmp);
<?php require_once "connect.inc"; if (!($mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket))) { printf("[001] Cannot connect\n"); } $test_table_name = 'test_mysqli_fetch_lengths_oo_table_1'; require 'table.inc'; if (!($res = $mysqli->query("SELECT id, label FROM test_mysqli_fetch_lengths_oo_table_1 ORDER BY id LIMIT 1"))) { printf("[002] [%d] %s\n", $mysqli->errno, $mysqli->error); } var_dump($res->lengths); while ($row = $res->fetch_assoc()) { var_dump($res->lengths); } var_dump($res->lengths); $res->free_result(); var_dump($res->lengths); $mysqli->close(); print "done!"; $test_table_name = 'test_mysqli_fetch_lengths_oo_table_1'; require_once "clean_table.inc"; $test_table_name = 'test_mysqli_fetch_lengths_oo_table_1'; require_once "clean_table.inc";
<?php require_once "connect.inc"; $mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket); var_dump($mysqli->autocommit(false)); $result = $mysqli->query("SELECT @@autocommit"); var_dump($result->fetch_row()); var_dump($mysqli->autocommit(true)); $result = $mysqli->query("SELECT @@autocommit"); var_dump($result->fetch_row());
<?php require_once "connect.inc"; $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $mysql->multi_query('SELECT 1;SELECT 2'); do { $res = $mysql->store_result(); if ($mysql->errno == 0) { while ($arr = $res->fetch_assoc()) { var_dump($arr); } $res->free(); } } while ($mysql->next_result()); var_dump($mysql->error, __LINE__); $mysql->close(); $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $mysql->multi_query('SELECT 1;SELECT 2'); do { $res = $mysql->store_result(); if ($mysql->errno == 0) { while ($arr = $res->fetch_assoc()) { var_dump($arr); } $res->free(); } } while ($mysql->next_result()); var_dump($mysql->error, __LINE__);
<?php require 'connect.inc'; require 'table.inc'; $mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $mysqli_result = $mysqli->query('SELECT * FROM test'); $row = $mysqli_result->fetch_row(); $link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket); $res = mysqli_query($link, 'SELECT * FROM test'); assert(mysqli_fetch_row($res) === $row); printf("Parent class:\n"); var_dump(get_parent_class($mysqli_result)); printf("\nMethods:\n"); $methods = get_class_methods($mysqli_result); $expected_methods = array('__construct' => true, 'close' => true, 'data_seek' => true, 'fetch_array' => true, 'fetch_assoc' => true, 'fetch_field' => true, 'fetch_field_direct' => true, 'fetch_fields' => true, 'fetch_object' => true, 'fetch_row' => true, 'field_seek' => true, 'free' => true, 'free_result' => true); if ($IS_MYSQLND) { $expected_methods['fetch_all'] = true; } foreach ($methods as $k => $method) { if (isset($expected_methods[$method])) { unset($expected_methods[$method]); unset($methods[$k]); } if ($method == 'mysqli_result') { // get_class_method reports different constructor names unset($expected_methods['__construct']); unset($methods[$k]); } } if (!empty($expected_methods)) { printf("Dumping list of missing methods.\n");
<?php require_once "connect.inc"; $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $mysql->multi_query('SELECT 1;SELECT 2'); do { $res = $mysql->store_result(); if ($mysql->errno == 0) { while ($arr = $res->fetch_assoc()) { var_dump($arr); } $res->free(); } if (!$mysql->more_results()) { break; } } while (@$mysql->next_result()); $mysql->close(); print "done!";
<?php require_once "connect.inc"; $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $stmt = new mysqli_stmt($mysql, "SELECT 'foo' FROM DUAL"); $stmt->execute(); $stmt->bind_result($foo); $stmt->fetch(); $stmt->close(); $mysql->close(); var_dump($foo);
<?php require 'connect.inc'; $test_table_name = 'test_mysqli_class_mysqli_result_interface_table_1'; require 'table.inc'; $mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $mysqli_result = $mysqli->query('SELECT * FROM test_mysqli_class_mysqli_result_interface_table_1'); $row = $mysqli_result->fetch_row(); $link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket); $res = mysqli_query($link, 'SELECT * FROM test_mysqli_class_mysqli_result_interface_table_1'); assert(mysqli_fetch_row($res) === $row); printf("Parent class:\n"); var_dump(get_parent_class($mysqli_result)); printf("\nMethods:\n"); $methods = get_class_methods($mysqli_result); $expected_methods = array('__construct' => true, 'close' => true, 'data_seek' => true, 'fetch_array' => true, 'fetch_assoc' => true, 'fetch_field' => true, 'fetch_field_direct' => true, 'fetch_fields' => true, 'fetch_object' => true, 'fetch_row' => true, 'field_seek' => true, 'free' => true, 'free_result' => true); if ($IS_MYSQLND) { $expected_methods['fetch_all'] = true; } foreach ($methods as $k => $method) { if (isset($expected_methods[$method])) { unset($expected_methods[$method]); unset($methods[$k]); } if ($method == 'mysqli_result') { // get_class_method reports different constructor names unset($expected_methods['__construct']); unset($methods[$k]); } } if (!empty($expected_methods)) {
<?php require_once "connect.inc"; $tmp = NULL; $link = NULL; // Note: no SQL type tests, internally the same function gets used as for mysqli_fetch_array() which does a lot of SQL type test $mysqli = new mysqli(); $res = @new mysqli_result($mysqli); $test_table_name = 'test_mysqli_fetch_assoc_oo_table_1'; require 'table.inc'; if (!($mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket))) { printf("[002] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", $host, $user, $db, $port, $socket); } if (!($res = $mysqli->query("SELECT id, label FROM test_mysqli_fetch_assoc_oo_table_1 ORDER BY id LIMIT 1"))) { printf("[004] [%d] %s\n", $mysqli->errno, $mysqli->error); } print "[005]\n"; var_dump($res->fetch_assoc()); print "[006]\n"; var_dump($res->fetch_assoc()); $res->free_result(); if (!($res = $mysqli->query("SELECT 1 AS a, 2 AS a, 3 AS c, 4 AS C, NULL AS d, true AS e"))) { printf("[007] Cannot run query, [%d] %s\n", $mysqli->errno, $mysqli->error); } print "[008]\n"; var_dump($res->fetch_assoc()); $res->free_result(); if (NULL !== ($tmp = $res->fetch_assoc())) { printf("[008] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); } mysqli_close($link);
<?php include_once "connect.inc"; $link = NULL; $tmp = NULL; if (!($mysqli = new my_mysqli($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\n", $host, $user, $db, $port, $socket); } if (false !== ($tmp = $mysqli->change_user($user . '_unknown_really', $passwd . 'non_empty', $db))) { printf("[006] Expecting false, got %s/%s\n", gettype($tmp), $tmp); } if (false !== ($tmp = $mysqli->change_user($user, $passwd . '_unknown_really', $db))) { printf("[007] Expecting false, got %s/%s\n", gettype($tmp), $tmp); } if (false !== ($tmp = $mysqli->change_user($user, $passwd, $db . '_unknown_really'))) { printf("[008] Expecting false, got %s/%s\n", gettype($tmp), $tmp); } if (!$mysqli->query('SET @mysqli_change_user_test_var=1')) { printf("[009] Failed to set test variable: [%d] %s\n", $mysqli->errno, $mysqli->error); } if (!($res = $mysqli->query('SELECT @mysqli_change_user_test_var AS test_var'))) { printf("[010] [%d] %s\n", $mysqli->errno, $mysqli->error); } $tmp = $res->fetch_assoc(); $res->free_result(); if (1 != $tmp['test_var']) { printf("[011] Cannot set test variable\n"); } if (true !== ($tmp = $mysqli->change_user($user, $passwd, $db))) { printf("[012] Expecting true, got %s/%s\n", gettype($tmp), $tmp); }
<?php require_once "connect.inc"; $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $mysql->real_query("SELECT 'foo' FROM DUAL"); $myresult = new mysqli_result($mysql); $row = $myresult->fetch_row(); $myresult->close(); $mysql->close(); var_dump($row); print "done!";
<?php $test_table_name = 'test_mysqli_prepare_no_object_table_1'; require 'table.inc'; if (false !== ($tmp = mysqli_prepare($link, false))) { printf("[001] Expecting boolean/false, got %s/%s\n", gettype($tmp), is_object($tmp) ? var_dump($tmp, true) : $tmp); } printf("a) [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (false !== ($tmp = mysqli_prepare($link, ''))) { printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), is_object($tmp) ? var_dump($tmp, true) : $tmp); } printf("b) [%d] %s\n", mysqli_errno($link), mysqli_error($link)); mysqli_close($link); if (!($mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket))) { printf("[003] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", $host, $user, $db, $port, $socket); } if (false !== ($tmp = $mysqli->prepare(false))) { printf("[004] Expecting boolean/false, got %s/%s\n", gettype($tmp), is_object($tmp) ? var_dump($tmp, true) : $tmp); } printf("c) [%d] %s\n", $mysqli->errno, $mysqli->error); if (false !== ($tmp = $mysqli->prepare(''))) { printf("[005] Expecting boolean/false, got %s/%s\n", gettype($tmp), is_object($tmp) ? var_dump($tmp, true) : $tmp); } printf("c) [%d] %s\n", $mysqli->errno, $mysqli->error); print "done!"; error_reporting(0); $test_table_name = 'test_mysqli_prepare_no_object_table_1'; require_once "clean_table.inc";
<?php require_once "connect.inc"; $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $mysql->real_query("SELECT 'foo' FROM test_062_table_1"); $myresult = new mysqli_result($mysql); $row = $myresult->fetch_row(); $myresult->close(); $mysql->close(); var_dump($row); print "done!";
<?php require_once "connect.inc"; $tmp = NULL; $link = NULL; require 'table.inc'; if (!($mysqli = new my_mysqli($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\n", $host, $user, $db, $port, $socket); } if (!($res = $mysqli->query("SELECT * FROM test ORDER BY id LIMIT 5"))) { printf("[004] [%d] %s\n", $mysqli->errno, $mysqli->error); } print "[005]\n"; var_dump($res->fetch_array()); print "[006]\n"; var_dump($res->fetch_array(MYSQLI_NUM)); print "[007]\n"; var_dump($res->fetch_array(MYSQLI_BOTH)); print "[008]\n"; var_dump($res->fetch_array(MYSQLI_ASSOC)); print "[009]\n"; var_dump($res->fetch_array()); $res->free_result(); if (!($res = $mysqli->query("SELECT 1 AS a, 2 AS a, 3 AS c, 4 AS C, NULL AS d, true AS e"))) { printf("[010] Cannot run query, [%d] %s\n", $mysqli->errno, ${$mysqli}->error); } print "[011]\n"; var_dump($res->fetch_array(MYSQLI_BOTH)); $res->free_result(); if (!($res = $mysqli->query("SELECT 1 AS a, 2 AS b, 3 AS c, 4 AS C"))) { printf("[012] Cannot run query, [%d] %s\n", $mysqli->errno, ${$mysqli}->error);
<?php require_once "connect.inc"; $tmp = NULL; $link = NULL; $mysqli = new mysqli(); if (!is_null($tmp = @$mysqli->commit())) { printf("[013] Expecting NULL got %s/%s\n", gettype($tmp), $tmp); } if (!($mysqli = new my_mysqli($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\n", $host, $user, $db, $port, $socket); } if (true !== ($tmp = $mysqli->commit())) { printf("[002] Expecting boolean/true got %s/%s\n", gettype($tmp), $tmp); } if (true !== ($tmp = $mysqli->autocommit(false))) { printf("[003] Cannot turn off autocommit, expecting true, got %s/%s\n", gettype($tmp), $tmp); } if (!$mysqli->query('DROP TABLE IF EXISTS test')) { printf("[004] [%d] %s\n", $mysqli->errno, $mysqli->error); } if (!$mysqli->query('CREATE TABLE test(id INT) ENGINE = InnoDB')) { printf("[005] Cannot create test table, [%d] %s\n", $mysqli->errno, $mysqli->error); } if (!$mysqli->query('INSERT INTO test(id) VALUES (1)')) { printf("[006] [%d] %s\n", $mysqli->errno, $mysqli->error); } $tmp = $mysqli->commit(); if ($tmp !== true) { printf("[007] Expecting boolean/true, got %s/%s\n", gettype($tmp), $tmp); }
<?php require_once "connect.inc"; $tmp = NULL; $link = NULL; if (!($mysqli = new my_mysqli($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\n", $host, $user, $db, $port, $socket); } if (!is_null($tmp = @$mysqli->close($link))) { printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); } $tmp = $mysqli->close(); if (true !== $tmp) { printf("[003] Expecting boolean/true, got %s/%s\n", gettype($tmp), $tmp); } if (!is_null($tmp = @$mysqli->close())) { printf("[004] Expecting NULL got %s/%s\n", gettype($tmp), $tmp); } if (!is_null($tmp = @$mysqli->query("SELECT 1"))) { printf("[005] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); } print "done!";
<?php require_once "connect.inc"; $tmp = NULL; $link = NULL; $mysqli = new mysqli(); $res = @new mysqli_result($mysqli); $test_table_name = 'test_mysqli_fetch_field_direct_oo_table_1'; require 'table.inc'; if (!($mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket))) { printf("[002] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", $host, $user, $db, $port, $socket); } if (!($res = $mysqli->query("SELECT id AS ID, label FROM test_mysqli_fetch_field_direct_oo_table_1 AS TEST ORDER BY id LIMIT 1"))) { printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); } var_dump($res->fetch_field_direct(-1)); var_dump($res->fetch_field_direct(0)); var_dump($res->fetch_field_direct(2)); $res->free_result(); if (NULL !== ($tmp = $res->fetch_field_direct(0))) { printf("[007] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); } $mysqli->close(); print "done!"; $test_table_name = 'test_mysqli_fetch_field_direct_oo_table_1'; require_once "clean_table.inc";
<?php require_once "connect.inc"; $tmp = NULL; $link = NULL; $mysqli = new mysqli(); if (!($mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket))) { printf("[002] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", $host, $user, $db, $port, $socket); } $test_table_name = 'test_mysqli_fetch_all_oo_table_1'; require 'table.inc'; if (!($res = $mysqli->query("SELECT * FROM test_mysqli_fetch_all_oo_table_1 ORDER BY id LIMIT 2"))) { printf("[004] [%d] %s\n", $mysqli->errno, $mysqli->error); } print "[005]\n"; var_dump($res->fetch_all()); $res->free_result(); if (!($res = $mysqli->query("SELECT * FROM test_mysqli_fetch_all_oo_table_1 ORDER BY id LIMIT 2"))) { printf("[006] [%d] %s\n", $mysqli->errno, $mysqli->error); } print "[007]\n"; var_dump($res->fetch_all(MYSQLI_NUM)); $res->free_result(); if (!($res = $mysqli->query("SELECT * FROM test_mysqli_fetch_all_oo_table_1 ORDER BY id LIMIT 2"))) { printf("[008] [%d] %s\n", $mysqli->errno, $mysqli->error); } print "[008]\n"; var_dump($res->fetch_all(MYSQLI_BOTH)); $res->free_result(); if (!($res = $mysqli->query("SELECT * FROM test_mysqli_fetch_all_oo_table_1 ORDER BY id LIMIT 2"))) { printf("[009] [%d] %s\n", $mysqli->errno, $mysqli->error);
<?php require_once "connect.inc"; $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $mysql->query("DROP TABLE IF EXISTS not_exists"); var_dump($mysql->warning_count); $w = $mysql->get_warnings(); var_dump($w->errno); var_dump($w->message); var_dump($w->sqlstate); $mysql->close(); echo "done!";
<?php require 'connect.inc'; $db = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $result = $db->query('SELECT 1', MYSQLI_USE_RESULT); $db->close(); var_dump($result->fetch_object());
<?php require_once "connect.inc"; $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $version = $mysql->server_version; var_dump($mysql->ping()); $ret = $mysql->kill($mysql->thread_id); if ($IS_MYSQLND) { if ($ret !== true) { printf("[001] Expecting boolean/true got %s/%s\n", gettype($ret), var_export($ret, true)); } } else { /* libmysql return value seems to depend on server version */ if (($version >= 50123 || $version <= 40200) && $version != 50200) { /* TODO: find exact version */ if ($ret !== true) { printf("[001] Expecting boolean/true got %s/%s @\n", gettype($ret), var_export($ret, true), $version); } } else { if ($ret !== false) { printf("[001] Expecting boolean/false got %s/%s @\n", gettype($ret), var_export($ret, true), $version); } } } var_dump($mysql->ping()); $mysql->close(); $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); var_dump(mysqli_ping($mysql)); $ret = $mysql->kill($mysql->thread_id); if ($IS_MYSQLND) { if ($ret !== true) {
<?php require_once "connect.inc"; $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); $cs = array(); $cs[] = $mysql->set_charset("latin1"); $cs[] = $mysql->character_set_name(); $cs[] = $mysql->set_charset("utf8"); $cs[] = $mysql->character_set_name(); $cs[] = $mysql->set_charset("notdefined"); $cs[] = $mysql->character_set_name(); var_dump($cs); print "done!";