--TEST--
Bug #28817 (problems with properties declared in the class extending MySQLi)
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
include "connect.inc";
var_dump($mysql->p_test);
@var_dump($mysql->errno);
- $mysql->connect($host, $user, $passwd);
+ $mysql->connect($host, $user, $passwd, $db, $port, $socket);
$mysql->select_db("nonexistingdb");
var_dump($mysql->errno > 0);
- $mysql->close();
+ $mysql->close();
?>
--EXPECTF--
array(2) {
[0]=>
- string(3) "foo"
+ %s(3) "foo"
[1]=>
- string(3) "bar"
+ %s(3) "bar"
}
NULL
-bool(true)
+bool(true)
\ No newline at end of file
--TEST--
constructor test
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
include "connect.inc";
-
+
/* class 1 calls parent constructor */
class mysql1 extends mysqli {
function __construct() {
- global $host, $user, $passwd;
- parent::__construct($host, $user, $passwd, "test");
+ global $host, $user, $passwd, $db, $port, $socket;
+ parent::__construct($host, $user, $passwd, $db, $port, $socket);
}
}
/* class 2 has an own constructor */
class mysql2 extends mysqli {
-
+
function __construct() {
- global $host, $user, $passwd;
- $this->connect($host, $user, $passwd, "test");
+ global $host, $user, $passwd, $db, $port, $socket;
+ $this->connect($host, $user, $passwd, $db, $port, $socket);
}
}
/* class 3 has no constructor */
class mysql3 extends mysqli {
-
+
}
- $foo[0] = new mysql1();
- $foo[1] = new mysql2();
- $foo[2] = new mysql3($host, $user, $passwd, "test");
+ $foo[0] = new mysql1();
+ $foo[1] = new mysql2();
+ $foo[2] = new mysql3($host, $user, $passwd, $db, $port, $socket);
for ($i=0; $i < 3; $i++) {
if (($result = $foo[$i]->query("SELECT DATABASE()"))) {
$row = $result->fetch_row();
- printf("%d: %s\n", $i, $row[0]);
+ if ($row[0] != $db)
+ printf("%d: %s\n", $i, $row[0]);
$result->close();
}
$foo[$i]->close();
}
+ print "done!";
?>
--EXPECTF--
-0: test
-1: test
-2: test
+done!
\ No newline at end of file
--TEST--
Bug #30967 (problems with properties declared in the class extending the class extending MySQLi)
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
include "connect.inc";
class mysql2 extends mysql1 {
}
- $mysql = new mysql2($host, $user, $passwd, "test");
+ $mysql = new mysql2($host, $user, $passwd, $db, $port, $socket);
$mysql->query("THIS DOES NOT WORK");
printf("%d\n", $mysql->errno);
- $mysql->close();
+ $mysql->close();
?>
--EXPECTF--
1064
--EXPECTF--
array(2) {
[0]=>
- string(3) "foo"
+ %s(3) "foo"
[1]=>
- string(3) "bar"
+ %s(3) "bar"
}
--TEST--
Bug #31668 (multi_query works exactly every other time (multi_query was global, now per connection))
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
include "connect.inc";
- $mysql = new mysqli($host, $user, $passwd, "test");
+ $mysql = new mysqli($host, $user, $passwd, $db, $port, $socket);
$mysql->multi_query('SELECT 1;SELECT 2');
do {
- $res = $mysql->store_result();
+ $res = $mysql->store_result();
if ($mysql->errno == 0) {
while ($arr = $res->fetch_assoc()) {
var_dump($arr);
var_dump($mysql->error, __LINE__);
$mysql->close();
- $mysql = new mysqli($host, $user, $passwd, "test");
+ $mysql = new mysqli($host, $user, $passwd, $db, $port, $socket);
$mysql->multi_query('SELECT 1;SELECT 2');
do {
- $res = $mysql->store_result();
+ $res = $mysql->store_result();
if ($mysql->errno == 0) {
while ($arr = $res->fetch_assoc()) {
var_dump($arr);
--EXPECTF--
array(1) {
[1]=>
- string(1) "1"
+ %s(1) "1"
}
array(1) {
[2]=>
- string(1) "2"
+ %s(1) "2"
}
-string(0) ""
+%s(0) ""
int(%d)
array(1) {
[1]=>
- string(1) "1"
+ %s(1) "1"
}
array(1) {
[2]=>
- string(1) "2"
+ %s(1) "2"
}
-string(0) ""
+%s(0) ""
int(%d)
--TEST--
Bug #32405 (mysqli->fetch() is returning bad data)
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
include ("connect.inc");
/*** test mysqli_connect 127.0.0.1 ***/
- $link = mysqli_connect($host, $user, $passwd);
+ $link = mysqli_connect($host, $user, $passwd, $db, $port, $socket);
mysqli_select_db($link, "test");
mysqli_query($link, "SET sql_mode=''");
mysqli_query($link,"DROP TABLE test_users");
mysqli_close($link);
?>
---EXPECT--
+--EXPECTF--
int(1)
-string(5) "user1"
+%s(5) "user1"
int(2)
-string(5) "user2"
+%s(5) "user2"
int(3)
-string(5) "user3"
+%s(5) "user3"
int(4)
-string(5) "user4"
+%s(5) "user4"
--TEST--
Bug #33090 (mysql_prepare doesn't return an error)
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
include ("connect.inc");
/*** test mysqli_connect 127.0.0.1 ***/
- $link = mysqli_connect($host, $user, $passwd);
- mysqli_select_db($link, "test");
+ $link = mysqli_connect($host, $user, $passwd, null, $port, $socket);
+ mysqli_select_db($link, $db);
if (!($link->prepare("this makes no sense"))) {
printf("%d\n", $link->errno);
--TEST--
-Bug #33263 (mysqli_real_connect in __construct)
+Bug #33263 (mysqli_real_connect in __construct)
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
-<?php require_once('skipifemb.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifemb.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
class test extends mysqli
{
- public function __construct($host, $user, $passwd, $db) {
+ public function __construct($host, $user, $passwd, $db, $port, $socket) {
parent::init();
- parent::real_connect($host, $user, $passwd, $db);
+ parent::real_connect($host, $user, $passwd, $db, $port, $socket);
}
}
- $mysql = new test($host, $user, $passwd, "test");
+ $mysql = new test($host, $user, $passwd, $db, $port, $socket);
$stmt = $mysql->prepare("SELECT DATABASE()");
$stmt->execute();
- $stmt->bind_result($db);
+ $stmt->bind_result($database);
$stmt->fetch();
$stmt->close();
- var_dump($db);
+ if ($database != $db)
+ printf("[001] Expecting '%s' got %s/'%s'.\n",
+ gettype($database), $database);
- $mysql->close();
+ $mysql->close();
+ print "done!";
?>
---EXPECT--
-string(4) "test"
+--EXPECTF--
+done!
\ No newline at end of file
--INI--
error_reporting=4095
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
}
}
-require_once dirname(__FILE__)."/connect.inc";
+require_once("connect.inc");
// Segfault when using the DB class which extends mysqli
-$DB = new DB($host, $user, $passwd, '');
+$DB = new DB($host, $user, $passwd, $db, $port, $socket);
$DB->query_single('SELECT DATE()');
?>
--TEST--
Bug #34785 (Can not properly subclass mysqli_stmt)
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
include ("connect.inc");
}
/*** test mysqli_connect 127.0.0.1 ***/
- $link = mysqli_connect($host, $user, $passwd);
+ $link = mysqli_connect($host, $user, $passwd, $db, $port, $socket);
mysqli_query($link, "SET sql_mode=''");
$stmt = new my_stmt($link, "SELECT 'foo' FROM DUAL");
mysqli_close($link);
?>
---EXPECT--
-string(3) "foo"
-string(3) "bar"
+--EXPECTF--
+%s(3) "foo"
+%s(3) "bar"
--TEST--
Bug #34810 (mysqli::init() and others use wrong $this pointer without checks)
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
public function connect() {
include "connect.inc";
- $link = mysqli_connect($host, $user, $passwd);
+ $link = mysqli_connect($host, $user, $passwd, $db, $port, $socket);
var_dump($link);
$link = mysqli_init();
var_dump($link);
- $mysql = new mysqli($host, $user, $passwd, "test");
+ $mysql = new mysqli($host, $user, $passwd, $db, $port, $socket);
$mysql->query("DROP TABLE IF EXISTS test_warnings");
$mysql->query("CREATE TABLE test_warnings (a int not null)");
$mysql->query("SET sql_mode=''");
--TEST--
Bug #35103 (Bad handling of unsigned bigint)
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
EOSQL;
include "connect.inc";
- $mysql = new mysqli($host, $user, $passwd, "test");
+ $mysql = new mysqli($host, $user, $passwd, $db, $port, $socket);
$mysql->query("DROP TABLE IF EXISTS test_bint");
$mysql->query("CREATE TABLE test_bint (a bigint(20) default NULL) ENGINE=MYISAM");
$mysql->query("INSERT INTO test_bint VALUES (9223372036854775807),(-9223372036854775808),(-2147483648),(-2147483649),(-2147483647),(2147483647),(2147483648),(2147483649)");
--TEST--
Bug #35517 (mysqli_stmt_fetch returns NULL)
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
include "connect.inc";
- $mysql = new mysqli($host, $user, $passwd, "test");
+ $mysql = new mysqli($host, $user, $passwd, $db, $port, $socket);
$mysql->query("CREATE TABLE temp (id INT UNSIGNED NOT NULL)");
$mysql->query("INSERT INTO temp (id) VALUES (3000000897),(3800001532),(3900002281),(3100059612)");
$mysql->close();
?>
--EXPECTF--
-string(10) "3000000897"
-string(10) "3800001532"
-string(10) "3900002281"
-string(10) "3100059612"
+%s(10) "3000000897"
+%s(10) "3800001532"
+%s(10) "3900002281"
+%s(10) "3100059612"
--TEST--
Bug #35759 (mysqli_stmt_bind_result() makes huge allocation when column empty)
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
include "connect.inc";
$col_num= 1000;
- $mysql = new mysqli($host, $user, $passwd, "test");
+ $mysql = new mysqli($host, $user, $passwd, $db, $port, $socket);
$mysql->query("DROP TABLE IF EXISTS blobby");
$create = "CREATE TABLE blobby (a0 MEDIUMBLOB NOT NULL DEFAULT ''";
$i= 0;
--TEST--
Bug #36420 (segfault when access result->num_rows after calling result->close())
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
include "connect.inc";
-$mysqli = mysqli_connect($host, $user, $passwd);
+$mysqli = mysqli_connect($host, $user, $passwd, $db, $port, $socket);
$result = $mysqli->query('select 1');
--TEST--
Bug #36745 (LOAD DATA LOCAL INFILE doesn't return correct error message)
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
include ("connect.inc");
/*** test mysqli_connect 127.0.0.1 ***/
- $mysql = mysqli_connect($host, $user, $passwd, "test");
+ $mysql = mysqli_connect($host, $user, $passwd, $db, $port, $socket);
$mysql->query("DROP TABLE IF EXISTS litest");
$mysql->query("CREATE TABLE litest (a VARCHAR(20))");
printf("Done");
?>
--EXPECTF--
-string(%d) "%s"
+%s(%d) "%s"
Done
--TEST--
-Bug #36802 (crashes with mysql_init)
+Bug #36802 (crashes with with mysqli_set_charset())
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
--TEST--
Bug #36949 (invalid internal mysqli objects dtor)
--SKIPIF--
-<?php require_once('skipif.inc'); ?>
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
--FILE--
<?php
include "connect.inc";
-
class A {
private $mysqli;
public function __construct() {
- global $user, $host, $passwd;
- $this->mysqli = new mysqli($host, $user, $passwd);
+ global $user, $host, $passwd, $db, $port, $socket;
+ $this->mysqli = new mysqli($host, $user, $passwd, $db, $port, $socket);
$result = $this->mysqli->query("SELECT NOW() AS my_time FROM DUAL");
$row = $result->fetch_object();
echo $row->my_time."<br>\n";
private $mysqli;
public function __construct() {
- global $user, $host, $passwd;
- $this->mysqli = new mysqli($host, $user, $passwd);
+ global $user, $host, $passwd, $db, $port, $socket;
+ $this->mysqli = new mysqli($host, $user, $passwd, $db, $port, $socket);
$result = $this->mysqli->query("SELECT NOW() AS my_time FROM DUAL");
$row = $result->fetch_object();
echo $row->my_time."<br>\n";
--TEST--
Bug #37090 (mysqli_set_charset return code)
--SKIPIF--
-<?php require_once('skipif.inc');
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
if (!function_exists('mysqli_set_charset')) {
die('skip mysqli_set_charset() not available');
}
+if (ini_get('unicode.semantics')) {
+ die("skip Functionality not available in unicode mode");
+}
?>
--FILE--
<?php
include "connect.inc";
- $mysql = new mysqli($host, $user, $passwd);
+ $mysql = new mysqli($host, $user, $passwd, $db, $port, $socket);
$cs = array();
$cs[] = $mysql->set_charset("latin5");
$cs[] = $mysql->character_set_name();
var_dump($cs);
+ print "done!";
?>
--EXPECT--
array(6) {
[5]=>
string(4) "utf8"
}
+done!
\ No newline at end of file
--SKIPIF--
<?php
require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
?>
--FILE--
<?php
include "connect.inc";
-$db = new mysqli($host, $user, $passwd, "test");
+$db = new 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', mysqli_get_server_version($db) > 50110? 100000:(mysqli_get_server_version($db)>=50000? 8193:8191))) {
+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";
?>
--EXPECTF--
-Done
+Done
\ No newline at end of file