if (!function_exists('my_mysql_connect')) {
/* wrapper to simplify test porting */
- function my_mysql_connect($host, $user, $passwd, $db, $port, $socket, $flags = NULL) {
+ function my_mysql_connect($host, $user, $passwd, $db, $port, $socket, $flags = NULL, $persistent = false) {
global $connect_flags;
$flags = ($flags === NULL) ? $connect_flags : $flags;
else if ($port)
$host = sprintf("%s:%s", $host, $port);
- if (!$link = mysql_connect($host, $user, $passwd, true, $flags)) {
- printf("[000-a] Cannot connect using host '%s', user '%s', password '****', [%d] %s\n",
- $host, $user, $passwd,
+ if ($persistent) {
+ $link = mysql_pconnect($host, $user, $passwd, $flags);
+ } else {
+ $link = mysql_connect($host, $user, $passwd, true, $flags);
+ }
+
+ if (!$link) {
+ printf("[000-a] Cannot connect using host '%s', user '%s', password '****', persistent = %d, [%d] %s\n",
+ $host, $user, ($persistent) ? 1 : 0,
mysql_errno(), mysql_error());
return false;
}
<?php
require_once("connect.inc");
require_once("table.inc");
- // assert(ini_get('mysql.allow_persistent') == false);
- if ($socket)
- $myhost = sprintf("%s:%s", $host, $socket);
- else if ($port)
- $myhost = sprintf("%s:%s", $host, $port);
- else
- $myhost = $host;
-
- if (($plink = mysql_pconnect($myhost, $user, $passwd)))
+ if (($plink = my_mysql_connect($host, $user, $passwd, $db, $port, $socket, NULL, true)))
printf("[001] Can connect to the server.\n");
- if (($res = @mysql_query('SELECT id FROM test ORDER BY id ASC', $plink)) &&
+ if (($res = mysql_query('SELECT id FROM test ORDER BY id ASC', $plink)) &&
($row = mysql_fetch_assoc($res)) &&
(mysql_free_result($res))) {
printf("[002] Can fetch data using persistent connection! Data = '%s'\n",
$thread_id = mysql_thread_id($plink);
mysql_close($plink);
- if (!($plink = mysql_pconnect($myhost, $user, $passwd)))
+ if (!($plink = my_mysql_connect($host, $user, $passwd, $db, $port, $socket, NULL, true)))
printf("[003] Cannot connect, [%d] %s\n", mysql_errno(), mysql_error());
if (mysql_thread_id($plink) != $thread_id)
$thread_id = mysql_thread_id($plink);
mysql_close($plink);
- if (!($plink = mysql_connect($myhost, $user, $passwd, true)))
+ if (!($plink = my_mysql_connect($host, $user, $passwd, $db, $port, $socket)))
printf("[005] Cannot connect, [%d] %s\n", mysql_errno(), mysql_error());
if (mysql_thread_id($plink) == $thread_id)