uw Mon Jul 23 12:15:20 2007 UTC
Added files:
/php-src/ext/mysqli/tests mysqli_connect_errno.phpt
mysqli_connect_error.phpt
mysqli_connect_oo_defaults.phpt
mysqli_connect_oo.phpt
mysqli_connect_oo_warnings.phpt
mysqli_connect.phpt
mysqli_connect_twice.phpt
mysqli_real_connect.phpt
Log:
Tests for mysqli_connect(), mysqli_real_connect(), mysqli_connect_errno(),
mysqli_connect_error()
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_connect_errno.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_connect_errno.phpt
+++ php-src/ext/mysqli/tests/mysqli_connect_errno.phpt
--TEST--
mysqli_connect_errno()
--SKIPIF--
<?php require_once('skipif.inc'); ?>
<?php require_once('skipifemb.inc'); ?>
--FILE--
<?php
include "connect.inc";
$tmp = NULL;
$link = NULL;
// too many parameter
if (0 !== ($tmp = @mysqli_connect_errno($link)))
printf("[001] Expecting integer/0, got %s/%s\n", gettype($tmp),
$tmp);
if (!$link = mysqli_connect($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 (0 !== ($tmp = mysqli_connect_errno()))
printf("[003] Expecting integer/0, got %s/%s\n", gettype($tmp),
$tmp);
mysqli_close($link);
$link = @mysqli_connect($host, $user . 'unknown_really', $passwd .
'non_empty', $db, $port, $socket);
if (false !== $link)
printf("[004] Connect to the server should fail using host=%s,
user=%s, passwd=***non_empty, dbname=%s, port=%s, socket=%s, expecting
boolean/false, got %s/%s\n",
$host, $user . 'unknown_really', $db, $port, $socket,
gettype($link), $link);
if (0 === ($tmp = mysqli_connect_errno()))
printf("[005] Expecting integer/any non-zero, got %s/%s\n",
gettype($tmp), $tmp);
print "done!";
?>
--EXPECTF--
done!
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_connect_error.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_connect_error.phpt
+++ php-src/ext/mysqli/tests/mysqli_connect_error.phpt
--TEST--
mysqli_connect_error()
--SKIPIF--
<?php require_once('skipif.inc'); ?>
<?php require_once('skipifemb.inc'); ?>
--FILE--
<?php
include "connect.inc";
$tmp = NULL;
$link = NULL;
// too many parameter
if (!is_null($tmp = @mysqli_connect_error($link)))
printf("[001] Expecting NULL/NULL, got %s/%s\n", gettype($tmp),
$tmp);
if (!$link = mysqli_connect($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 ('' !== ($tmp = mysqli_connect_error()))
printf("[003] Expecting string/'', got %s/%s\n", gettype($tmp),
$tmp);
mysqli_close($link);
if ($link = @mysqli_connect($host, $user . 'unknown_really', $passwd .
'non_empty', $db, $port, $socket))
printf("[003] Connect to the server should fail using host=%s,
user=%s, passwd=***non_empty, dbname=%s, port=%s, socket=%s\n",
$host, $user . 'unknown_really', $db, $port, $socket);
if ('' === ($tmp = mysqli_connect_error()))
printf("[004] Expecting string/'', got %s/%s\n", gettype($tmp),
$tmp);
print "done!";
?>
--EXPECTF--
done!
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_connect_oo_defaults.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_connect_oo_defaults.phpt
+++ php-src/ext/mysqli/tests/mysqli_connect_oo_defaults.phpt
--TEST--
new mysqli()
--SKIPIF--
<?php require_once('skipif.inc'); ?>
<?php require_once('skipifemb.inc'); ?>
--FILE--
<?php
include "connect.inc";
$tmp = NULL;
$link = NULL;
ini_set('mysqli.default_socket', 'socket');
ini_set('mysqli.default_port', 9999);
ini_set('mysqli.default_pw', 'password');
ini_set('mysqli.default_user', 'user');
ini_set('mysqli.default_host', 'host');
mysqli_report(MYSQLI_REPORT_OFF);
mysqli_report(MYSQLI_REPORT_STRICT);
ini_set('mysqli.default_socket', $socket);
try {
$mysqli = mysqli_init();
$mysqli->real_connect($host, $user, $passwd, $db, $port);
if (!$res = $mysqli->query("SELECT 'mysqli.default_socket' AS
testing"))
printf("[001] [%d] %s\n", $mysqli->errno,
$mysqli->error);
var_dump($res->fetch_assoc());
$res->free_result();
$mysqli->close();
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
printf("[002] Usage of mysqli.default_socket failed\n");
}
ini_set('mysqli.default_port', $port);
try {
$mysqli = mysqli_init();
$mysqli->real_connect($host, $user, $passwd, $db);
if (!$res = $mysqli->query("SELECT 'mysqli.default_port' AS
testing"))
printf("[003] [%d] %s\n", $mysqli->errno,
$mysqli->error);
var_dump($res->fetch_assoc());
$res->free_result();
$mysqli->close();
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
printf("[004] Usage of mysqli.default_port failed\n");
}
ini_set('mysqli.default_pw', $passwd);
try {
$mysqli = mysqli_init();
$mysqli->real_connect($host, $user);
$mysqli->select_db($db);
if (!$res = $mysqli->query("SELECT 'mysqli.default_pw' AS
testing"))
printf("[005] [%d] %s\n", $mysqli->errno,
$mysqli->error);
var_dump($res->fetch_assoc());
$res->free_result();
$mysqli->close();
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
printf("[006] Usage of mysqli.default_pw failed\n");
}
ini_set('mysqli.default_user', $user);
try {
$mysqli = mysqli_init();
$mysqli->real_connect($host);
$mysqli->select_db($db);
if (!$res = $mysqli->query("SELECT 'mysqli.default_user' AS
testing"))
printf("[007] [%d] %s\n", $mysqli->errno,
$mysqli->error);
var_dump($res->fetch_assoc());
$res->free_result();
$mysqli->close();
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
printf("[008] Usage of mysqli.default_user failed\n");
}
ini_set('mysqli.default_host', $host);
try {
$mysqli = mysqli_init();
$mysqli->real_connect();
$mysqli->select_db($db);
if (!$res = $mysqli->query("SELECT 1"))
printf("[009] [%d] %s\n", $mysqli->errno,
$mysqli->error);
$res->free_result();
if (!$res = $mysqli->query("SELECT
SUBSTRING_INDEX(USER(),'@',1) AS username"))
printf("[010] [%d] %s\n", $mysqli->errno,
$mysqli->error);
$tmp = $res->fetch_assoc();
$res->free_result();
if ($tmp['username'] !== $user)
printf("[011] Expecting string/%s, got %s/%s\n", $user,
gettype($tmp['username']), $tmp['username']);
$mysqli->close();
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
printf("[012] Usage of mysqli.default_host failed\n");
}
try {
$link = mysqli_connect($host, $user, $passwd, null,
ini_get('mysqli.default_port'));
mysqli_select_db($link, $db);
if (!$res = mysqli_query($link, "SELECT 'have been set' AS
all_defaults"))
printf("[013] [%d] %s\n", mysqli_errno($link),
mysqli_error($link));
var_dump(mysqli_fetch_assoc($res));
mysqli_free_result($res);
mysqli_close($link);
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
printf("[014] Usage of mysqli_connect() has failed\n");
}
try {
$link = mysqli_connect($host, $user, $passwd, null);
mysqli_select_db($link, $db);
if (!$res = mysqli_query($link, "SELECT 'have been set' AS
all_defaults"))
printf("[015] [%d] %s\n", mysqli_errno($link),
mysqli_error($link));
var_dump(mysqli_fetch_assoc($res));
mysqli_free_result($res);
mysqli_close($link);
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
printf("[016] Usage of mysqli_connect() has failed\n");
}
print "done!";
?>
--EXPECTF--
array(1) {
["testing"]=>
string(21) "mysqli.default_socket"
}
array(1) {
["testing"]=>
string(19) "mysqli.default_port"
}
array(1) {
["testing"]=>
string(17) "mysqli.default_pw"
}
array(1) {
["testing"]=>
string(19) "mysqli.default_user"
}
array(1) {
["all_defaults"]=>
string(13) "have been set"
}
array(1) {
["all_defaults"]=>
string(13) "have been set"
}
done!
--UEXPECTF--
array(1) {
[u"testing"]=>
unicode(21) "mysqli.default_socket"
}
array(1) {
[u"testing"]=>
unicode(19) "mysqli.default_port"
}
array(1) {
[u"testing"]=>
unicode(17) "mysqli.default_pw"
}
array(1) {
[u"testing"]=>
unicode(19) "mysqli.default_user"
}
array(1) {
[u"all_defaults"]=>
unicode(13) "have been set"
}
array(1) {
[u"all_defaults"]=>
unicode(13) "have been set"
}
done!
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_connect_oo.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_connect_oo.phpt
+++ php-src/ext/mysqli/tests/mysqli_connect_oo.phpt
--TEST--
new mysqli()
--SKIPIF--
<?php require_once('skipif.inc'); ?>
<?php require_once('skipifemb.inc'); ?>
--FILE--
<?php
include "connect.inc";
$tmp = NULL;
$link = NULL;
$obj = new stdClass();
if ($mysqli = new mysqli($host, $user . 'unknown_really', $passwd .
'non_empty', $db, $port, $socket) && !mysqli_connect_errno())
printf("[003] Can connect to the server using host=%s, user=%s,
passwd=***non_empty, dbname=%s, port=%s, socket=%s\n",
$host, $user . 'unknown_really', $db, $port, $socket);
if (false !== $mysqli)
printf("[004] Expecting boolean/false, got %s/%s\n",
gettype($mysqli), $mysqli);
// Run the following tests without an anoynmous MySQL user and use a
password for the test user!
ini_set('mysqli.default_socket', $socket);
if (!is_object($mysqli = new mysqli($host, $user, $passwd, $db, $port))
|| (0 !== mysqli_connect_errno())) {
printf("[005] Usage of mysqli.default_socket failed\n") ;
} else {
$mysqli->close();
}
ini_set('mysqli.default_port', $port);
if (!is_object($mysqli = new mysqli($host, $user, $passwd, $db)) || (0
!== mysqli_connect_errno())) {
printf("[006] Usage of mysqli.default_port failed\n") ;
} else {
$mysqli->close();
}
ini_set('mysqli.default_pw', $passwd);
if (!is_object($mysqli = new mysqli($host, $user)) || (0 !==
mysqli_connect_errno())) {
printf("[007] Usage of mysqli.default_pw failed\n") ;
} else {
$mysqli->close();
}
ini_set('mysqli.default_user', $user);
if (!is_object($mysqli = new mysqli($host)) || (0 !==
mysqli_connect_errno())) {
printf("[008] Usage of mysqli.default_user failed\n") ;
} else {
$mysqli->close();
}
ini_set('mysqli.default_host', $host);
if (!is_object($mysqli = new mysqli()) || (0 !==
mysqli_connect_errno())) {
printf("[008] Usage of mysqli.default_host failed\n") ;
} else {
$mysqli->close();
}
if ($IS_MYSQLND) {
ini_set('mysqli.default_host', 'p:' . $host);
if (!is_object($mysqli = new mysqli()) || (0 !==
mysqli_connect_errno())) {
printf("[008b] Usage of mysqli.default_host failed\n") ;
} else {
$mysqli->close();
}
}
print "... and now Exceptions\n";
mysqli_report(MYSQLI_REPORT_OFF);
mysqli_report(MYSQLI_REPORT_STRICT);
try {
$mysqli = new mysqli($host, $user . 'unknown_really', $passwd .
'non_empty', $db, $port, $socket);
printf("[016] Can connect to the server using host=%s, user=%s,
passwd=***non_empty, dbname=%s, port=%s, socket=%s\n",
$host, $user . 'unknown_really', $db, $port, $socket);
$mysqli->close();
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
}
ini_set('mysqli.default_socket', $socket);
try {
$mysqli = new mysqli($host, $user, $passwd, $db, $port);
$mysqli->close();
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
printf("[017] Usage of mysqli.default_socket failed\n") ;
}
ini_set('mysqli.default_port', $port);
try {
$mysqli = new mysqli($host, $user, $passwd, $db);
$mysqli->close();
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
printf("[018] Usage of mysqli.default_port failed\n") ;
}
ini_set('mysqli.default_pw', $passwd);
try {
$mysqli = new mysqli($host, $user);
$mysqli->close();
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
printf("[019] Usage of mysqli.default_pw failed\n");
}
ini_set('mysqli.default_user', $user);
try {
$mysqli = new mysqli($host);
$mysqli->close();
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
printf("[020] Usage of mysqli.default_user failed\n") ;
}
ini_set('mysqli.default_host', $host);
try {
/* NOTE that at this point one must use a different syntax! */
$mysqli = mysqli_init();
$mysqli->real_connect();
assert(0 === mysqli_connect_errno());
$mysqli->close();
assert(0 === mysqli_connect_errno());
} catch (mysqli_sql_exception $e) {
printf("%s\n", $e->getMessage());
printf("[021] Usage of mysqli.default_host failed\n");
}
print "done!";
?>
--EXPECTF--
Warning: mysqli::mysqli(): (%d/%d): Access denied for user
'%sunknown_real'@'%s' (using password: %s) in %s on line %d
Warning: mysqli::close(): Couldn't fetch mysqli in %s on line %d.... and now
Exceptions
Access denied for user '%s'@'%s' (using password: %s)
done!
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_connect_oo_warnings.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_connect_oo_warnings.phpt
+++ php-src/ext/mysqli/tests/mysqli_connect_oo_warnings.phpt
--TEST--
new mysqli()
--SKIPIF--
<?php require_once('skipif.inc'); ?>
<?php require_once('skipifemb.inc'); ?>
<?php require_once('skipifnodefuser.inc');
if (stristr(mysqli_get_client_info(), 'mysqlnd'))
die("skip: test for libmysql (different error output when using php
streams");
?>
--FILE--
<?php
include "connect.inc";
$myhost = 'invalidhost';
$link = NULL;
print "1) bail\n";
if (!is_object($mysqli = new mysqli($myhost)) || ('mysqli' !==
get_class($mysqli)))
printf("[001] Expecting NULL, got %s/%s\n", gettype($mysqli),
(is_object($mysqli)) ? var_export($mysqli, true) : $mysqli);
print "2) be quiet\n";
if (!is_object($mysqli = @new mysqli($myhost)) || ('mysqli' !==
get_class($mysqli)))
printf("[002] Expecting NULL, got %s/%s\n", gettype($mysqli),
(is_object($mysqli)) ? var_export($mysqli, true) : $mysqli);
var_dump(mysqli_connect_error());
var_dump(mysqli_connect_errno());
print "3) bail\n";
if (false !== ($link = mysqli_connect($myhost))) {
printf("[003] Expecting boolean/false, got %s/%s\n",
gettype($link), $link);
}
print "4) be quiet\n";
if (false !== ($link = @mysqli_connect($myhost))) {
printf("[004] Expecting boolean/false, got %s/%s\n",
gettype($link), $link);
}
var_dump(mysqli_connect_error());
var_dump(mysqli_connect_errno());
print "done!";
?>
--EXPECTF--
1) bail
Warning: mysqli::mysqli(): (HY000/2005): Unknown MySQL server host '%s' (1) in
%s on line %d
2) be quiet
%s(%d) "Unknown MySQL server host '%s' (1)"
int(2005)
3) bail
Warning: mysqli_connect(): (HY000/2005): Unknown MySQL server host '%s' (1) in
%s on line %d
4) be quiet
%s(%d) "Unknown MySQL server host '%s' (1)"
int(2005)
done!
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_connect.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_connect.phpt
+++ php-src/ext/mysqli/tests/mysqli_connect.phpt
--TEST--
mysqli_connect()
--SKIPIF--
<?php require_once('skipif.inc'); ?>
<?php require_once('skipifemb.inc'); ?>
--FILE--
<?php
include "connect.inc";
$tmp = NULL;
$link = NULL;
/* we need to check, if the server allows anonymous login (empty user)
*/
$tmp = @mysqli_connect('localhost');
$anon_allow = (gettype($tmp) == "object");
$exptype = ($anon_allow) ? "mysqli_object" : "false";
$obj = new stdClass();
if (!is_null($tmp = @mysqli_connect($obj)))
printf("[001] Expecting NULL got %s/%s\n", gettype($tmp), $tmp);
$tmp = @mysqli_connect($link);
if (($anon_allow && gettype($tmp) != "object") || (!$anon_allow && $tmp
!= false)) {
printf("[002] Expecting %s, got %s/%s\n", $exptype,
gettype($tmp), $tmp);
}
$tmp = @mysqli_connect($link, $link);
if (($anon_allow && gettype($tmp) != "object") || (!$anon_allow && $tmp
!= false)) {
printf("[003] Expecting %s, got %s/%s\n", $exptype,
gettype($tmp), $tmp);
}
$tmp = @mysqli_connect($link, $link, $link);
if (($anon_allow && gettype($tmp) != "object") || (!$anon_allow && $tmp
!= false)) {
printf("[004] Expecting %s, got %s/%s\n", $exptype,
gettype($tmp), $tmp);
}
$tmp = @mysqli_connect($link, $link, $link, $link);
if (($anon_allow && gettype($tmp) != "object") || (!$anon_allow && $tmp
!= false)) {
printf("[005] Expecting %s, got %s/%s\n", $exptype,
gettype($tmp), $tmp);
}
$tmp = @mysqli_connect($link, $link, $link, $link, $link);
if (($anon_allow && gettype($tmp) != "object") || (!$anon_allow && $tmp
!= false)) {
printf("[006] Expecting %s, got %s/%s\n", $exptype,
gettype($tmp), $tmp);
}
$tmp = @mysqli_connect($link, $link, $link, $link, $link, $link);
if (($anon_allow && gettype($tmp) != "object") || (!$anon_allow && $tmp
!= false)) {
printf("[007] Expecting %s, got %s/%s\n", $exptype,
gettype($tmp), $tmp);
}
if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket))
printf("[008] Cannot connect to the server using host=%s,
user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
$host, $user, $db, $port, $socket);
mysqli_close($link);
if ($link = mysqli_connect($host, $user . 'unknown_really', $passwd .
'non_empty', $db, $port, $socket))
printf("[009] Can connect to the server using host=%s, user=%s,
passwd=***non_empty, dbname=%s, port=%s, socket=%s\n",
$host, $user . 'unknown_really', $db, $port, $socket);
if (false !== $link)
printf("[010] Expecting boolean/false, got %s/%s\n",
gettype($link), $link);
// Run the following tests without an anoynmous MySQL user and use a
password for the test user!
ini_set('mysqli.default_socket', $socket);
if (!is_object($link = mysqli_connect($host, $user, $passwd, $db,
$port))) {
printf("[011] Usage of mysqli.default_socket failed\n") ;
} else {
if (!$res = mysqli_query($link, "SELECT 'mysqli.default_socket'
AS 'testing'"))
printf("[012] [%d] %s\n", mysqli_errno($link),
mysqli_error($link));
var_dump(mysqli_fetch_assoc($res));
mysqli_free_result($res);
mysqli_close($link);
}
ini_set('mysqli.default_port', $port);
if (!is_object($link = mysqli_connect($host, $user, $passwd, $db))) {
printf("[013] Usage of mysqli.default_port failed\n") ;
} else {
if (!$res = mysqli_query($link, "SELECT 'mysqli.default_port'
AS 'testing'"))
printf("[014] [%d] %s\n", mysqli_errno($link),
mysqli_error($link));
var_dump(mysqli_fetch_assoc($res));
mysqli_free_result($res);
mysqli_close($link);
}
ini_set('mysqli.default_pw', $passwd);
if (!is_object($link = mysqli_connect($host, $user))) {
printf("[015] Usage of mysqli.default_pw failed\n") ;
} else {
if (!$res = mysqli_query($link, "SELECT 'mysqli.default_pw' AS
'testing'"))
printf("[016] [%d] %s\n", mysqli_errno($link),
mysqli_error($link));
var_dump(mysqli_fetch_assoc($res));
mysqli_free_result($res);
mysqli_close($link);
}
ini_set('mysqli.default_user', $user);
if (!is_object($link = mysqli_connect($host))) {
printf("[017] Usage of mysqli.default_user failed\n") ;
} else {
if (!$res = mysqli_query($link, "SELECT 'mysqli.default_user'
AS 'testing'"))
printf("[018] [%d] %s\n", mysqli_errno($link),
mysqli_error($link));
var_dump(mysqli_fetch_array($res, MYSQLI_BOTH));
mysqli_free_result($res);
mysqli_close($link);
}
ini_set('mysqli.default_host', $host);
if (!is_object($link = mysqli_connect())) {
printf("[019] Usage of mysqli.default_host failed\n") ;
} else {
if (!$res = mysqli_query($link, "SELECT 'mysqli.default_host'
AS 'testing'"))
printf("[020] [%d] %s\n", mysqli_errno($link),
mysqli_error($link));
var_dump(mysqli_fetch_array($res, MYSQLI_NUM));
mysqli_free_result($res);
mysqli_close($link);
}
if ($IS_MYSQLND) {
ini_set('mysqli.default_host', 'p:' . $host);
if (!is_object($link = mysqli_connect())) {
printf("[021] Usage of mysqli.default_host
(persistent) failed\n") ;
} else {
if (!$res = mysqli_query($link, "SELECT
'mysqli.default_host (persistent)' AS 'testing'"))
printf("[022] [%d] %s\n", mysqli_errno($link),
mysqli_error($link));
$tmp = mysqli_fetch_assoc($res);
if ($tmp['testing'] !== 'mysqli.default_host
(persistent)') {
printf("[023] Result looks strange - check
manually, [%d] %s\n",
mysqli_errno($link),
mysqli_error($link));
var_dump($tmp);
}
mysqli_free_result($res);
mysqli_close($link);
}
}
print "done!";
?>
--EXPECTF--
Warning: mysqli_connect(): (%d/%d): Access denied for user '%s'@'%s' (using
password: YES) in %s on line %d
array(1) {
["testing"]=>
string(21) "mysqli.default_socket"
}
array(1) {
["testing"]=>
string(19) "mysqli.default_port"
}
array(1) {
["testing"]=>
string(17) "mysqli.default_pw"
}
array(2) {
[0]=>
string(19) "mysqli.default_user"
["testing"]=>
string(19) "mysqli.default_user"
}
array(1) {
[0]=>
string(19) "mysqli.default_host"
}
done!
--UEXPECTF--
Warning: mysqli_connect(): (%d/%d): Access denied for user '%s'@'%s' (using
password: YES) in %s on line %d
array(1) {
[u"testing"]=>
unicode(21) "mysqli.default_socket"
}
array(1) {
[u"testing"]=>
unicode(19) "mysqli.default_port"
}
array(1) {
[u"testing"]=>
unicode(17) "mysqli.default_pw"
}
array(2) {
[0]=>
unicode(19) "mysqli.default_user"
[u"testing"]=>
unicode(19) "mysqli.default_user"
}
array(1) {
[0]=>
unicode(19) "mysqli.default_host"
}
done!
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_connect_twice.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_connect_twice.phpt
+++ php-src/ext/mysqli/tests/mysqli_connect_twice.phpt
--TEST--
Calling connect() on an open connection to create a new connection
--SKIPIF--
<?php require_once('skipif.inc'); ?>
<?php require_once('skipifemb.inc'); ?>
--FILE--
<?php
include "connect.inc";
if (!$link = 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 (!$thread_id = mysqli_thread_id($link))
printf("[002] Cannot determine thread id, test will fail, [%d]
%s\n", mysqli_errno($link), mysqli_error($link));
if (true !== ($tmp = mysqli_real_connect($link, $host, $user, $passwd,
$db, $port, $socket)))
printf("[003] Expecting boolean/true got %s/%s\n",
gettype($tmp), $tmp);
if (!is_int($new_thread_id = mysqli_thread_id($link)) ||
($new_thread_id < 0))
printf("[004] Expecting int/any got %s/%s\n", gettype($tmp),
$tmp);
if ($thread_id == $new_thread_id)
printf("[005] Expecting new connection and new thread id. Old
thread id %d, new thread id %d\n", $thread_id, $new_thread_id);
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 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 (!$thread_id = $link->thread_id)
printf("[008] Cannot determine thread id, test will fail, [%d]
%s\n", mysqli_errno($link), mysqli_error($link));
if (true !== ($tmp = $link->real_connect($host, $user, $passwd, $db,
$port, $socket)))
printf("[009] Expecting boolean/true got %s/%s\n",
gettype($tmp), $tmp);
if (!is_int($new_thread_id = $link->thread_id) || ($new_thread_id < 0))
printf("[010] Expecting int/any got %s/%s\n", gettype($tmp),
$tmp);
if ($thread_id == $new_thread_id)
printf("[011] Expecting new connection and new thread id. Old
thread id %d, new thread id %d\n", $thread_id, $new_thread_id);
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);
if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket))
printf("[014] Cannot connect to the server using host=%s,
user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
$host, $user, $db, $port, $socket);
if (NULL !== ($tmp = $link->connect($host, $user, $passwd, $db, $port,
$socket)))
printf("[015] Expecting NULL got %s/%s\n", gettype($tmp), $tmp);
print "done!";
?>
--EXPECTF--
array(1) {
["it_works"]=>
string(2) "ok"
}
array(1) {
["syntax"]=>
string(18) "works also with oo"
}
done!
--UEXPECTF--
array(1) {
[u"it_works"]=>
unicode(2) "ok"
}
array(1) {
[u"syntax"]=>
unicode(18) "works also with oo"
}
done!
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_real_connect.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_real_connect.phpt
+++ php-src/ext/mysqli/tests/mysqli_real_connect.phpt
--TEST--
mysqli_real_connect()
--SKIPIF--
<?php require_once('skipif.inc'); ?>
<?php require_once('skipifemb.inc'); ?>
--INI--
open_basedir=.
--FILE--
<?php
include "connect.inc";
$tmp = NULL;
$link = NULL;
if (NULL !== ($tmp = @mysqli_real_connect($link)))
printf("[001a] Expecting NULL, got %s/%s\n", gettype($tmp),
$tmp);
if (NULL !== ($tmp = @mysqli_real_connect($link, $link)))
printf("[001b] Expecting NULL, got %s/%s\n", gettype($tmp),
$tmp);
if (NULL !== ($tmp = @mysqli_real_connect($link, $link, $link)))
printf("[001c] Expecting NULL, got %s/%s\n", gettype($tmp),
$tmp);
if (NULL !== ($tmp = @mysqli_real_connect($link, $link, $link, $link)))
printf("[001d] Expecting NULL, got %s/%s\n", gettype($tmp),
$tmp);
if (NULL !== ($tmp = @mysqli_real_connect($link, $link, $link, $link,
$link)))
printf("[001e] Expecting NULL, got %s/%s\n", gettype($tmp),
$tmp);
if (NULL !== ($tmp = @mysqli_real_connect($link, $link, $link, $link,
$link, $link)))
printf("[001f] Expecting NULL, got %s/%s\n", gettype($tmp),
$tmp);
if (NULL !== ($tmp = @mysqli_real_connect($link, $link, $link, $link,
$link, $link, $link)))
printf("[001g] Expecting NULL, got %s/%s\n", gettype($tmp),
$tmp);
// ( mysqli link [, string hostname [, string username [, string
passwd [, string dbname [, int port [, string socket [, int flags]]]]]]]
if (NULL !== ($tmp = @mysqli_real_connect($link, $link, $link, $link,
$link, $link, $link, $link)))
printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp),
$tmp);
if (!$link = mysqli_init())
printf("[002] mysqli_init() failed\n");
if (!mysqli_real_connect($link, $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);
mysqli_close($link);
if (!$link = mysqli_init())
printf("[004] mysqli_init() failed\n");
if (false !== ($tmp = mysqli_real_connect($link, $host, $user .
'unknown_really', $passwd . 'non_empty', $db, $port, $socket)))
printf("[005] Expecting boolean/false got %s/%s. Can connect to
the server using host=%s, user=%s, passwd=***non_empty, dbname=%s, port=%s,
socket=%s\n", gettype($tmp), $tmp, $host, $user . 'unknown_really', $db, $port,
$socket);
// Run the following tests without an anoynmous MySQL user and use a
password for the test user!
ini_set('mysqli.default_socket', $socket);
if (!mysqli_real_connect($link, $host, $user, $passwd, $db, $port)) {
printf("[006] Usage of mysqli.default_socket failed\n");
} else {
mysqli_close($link);
if (!$link = mysqli_init())
printf("[007] mysqli_init() failed\n");
}
ini_set('mysqli.default_port', $port);
if (!mysqli_real_connect($link, $host, $user, $passwd, $db)) {
printf("[008] Usage of mysqli.default_port failed\n");
} else {
mysqli_close($link);
if (!$link = mysqli_init())
printf("[009] mysqli_init() failed\n");
}
ini_set('mysqli.default_pw', $passwd);
if (!mysqli_real_connect($link, $host, $user)) {
printf("[010] Usage of mysqli.default_pw failed\n") ;
} else {
mysqli_close($link);
if (!$link = mysqli_init())
printf("[011] mysqli_init() failed\n");
}
ini_set('mysqli.default_user', $user);
if (!mysqli_real_connect($link, $host)) {
printf("[012] Usage of mysqli.default_user failed\n") ;
} else {
mysqli_close($link);
if (!$link = mysqli_init())
printf("[011] mysqli_init() failed\n");
}
ini_set('mysqli.default_host', $host);
if (!mysqli_real_connect($link)) {
printf("[014] Usage of mysqli.default_host failed\n") ;
} else {
mysqli_close($link);
if (!$link = mysqli_init())
printf("[015] mysqli_init() failed\n");
}
// CLIENT_MULTI_STATEMENTS - should be disabled silently
if (!mysqli_real_connect($link, $host, $user, $passwd, $db, $port,
$socket, 65536))
printf("[016] [%d] %s\n", mysqli_errno($link),
mysqli_error($link));
if (mysqli_query($link, "SELECT 1 AS a; SELECT 2 AS b"))
printf("[017] Should have failed. CLIENT_MULTI_STATEMENT should
have been disabled.\n");
mysqli_close($link);
if (!$link = mysqli_init())
printf("[018] mysqli_init() failed\n");
if (ini_get('open_basedir')) {
// CLIENT_LOCAL_FILES should be blocked - but how to test it ?!
if (!mysqli_real_connect($link, $host, $user, $passwd, $db,
$port, $socket, 128))
printf("[019] [%d] %s\n", mysqli_errno($link),
mysqli_error($link));
$filename = sys_get_temp_dir() . DIRECTORY_SEPERATOR .
'mysqli_real_connect_phpt';
if (!$fp = fopen($filename, 'w'))
printf("[020] Cannot open temporary file %s\n",
$filename);
fwrite($fp, '100;z');
fclose($fp);
// how do we test if gets forbidden because of a missing right
or the flag, this test is partly bogus ?
if (mysqli_query($link, "LOAD DATA LOCAL INFILE '$filename'
INTO TABLE test FIELDS TERMINATED BY ';'"))
printf("[021] LOAD DATA INFILE should have been
forbidden!\n");
unlink($filename);
}
mysqli_close($link);
if (NULL !== ($tmp = mysqli_real_connect($link, $host, $user, $passwd,
$db, $port, $socket)))
printf("[022] Expecting NULL, got %s/%s\n", gettype($tmp),
$tmp);
print "done!";
?>
--EXPECTF--
Warning: mysqli_real_connect(): (%d/%d): Access denied for user '%s'@'%s'
(using password: YES) in %s on line %d
done!
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php