繁体   English   中英

XAMPP PHP 偶尔失败的数据库连接

[英]XAMPP PHP occasioanlly failing database connection

我正在使用 XAMPP 来运行 PHP 并允许它连接到 SQL Server,我相信我已经正确设置了它,因为它大部分时间都可以工作,但是它会引发错误

mysql_error() expects parameter 1 to be resource, boolean given in ... Cannot use database db1

但是在刷新时它有时可以再次工作

apache 和 mysql 错误日志什么也没显示,php 只显示上面的警告,我不确定是什么导致了这个问题,有没有人遇到过这样的问题或者知道我可以从哪里开始修复它?

编辑:

我看到有人说可能重复的参数被初始化错误,我不认为是这种情况,我们正在运行一些旧代码并运行 PHP 5.6 及其设置

$Link = @db::connect($DBHost, $User, $Password);
db::select_database($DBName, $Link);
$Link_master = null;

$GLOBALS['db_timeout_occured'] = false;

class db {

static function connect($DBHost, $User, $Password){
    $Link = @mysql_connect($DBHost, $User, $Password);
    if($GLOBALS['debug_sql_time_log']) {
        $GLOBALS['debug_sql_time_print'] = '';
        $GLOBALS['debug_sql_time_total'] = 0;
    }
    if(!$Link) db::db_error(mysql_errno($Link) . ': ' . mysql_error($Link), $bln_trace=false);
    return $Link;
}

function close_connection($Link) {
    if($GLOBALS['debug_sql_time_log']) {
        echo $GLOBALS['debug_sql_time_print'] . '<br />';
        echo "Total MySQL time: " . $GLOBALS['debug_sql_time_total'] . 's<br />';
    }
    mysql_close($Link);
}

static function select_database($DBName, $Link){
    $bln_db_selected = mysql_select_db($DBName, $Link);
    if (!$bln_db_selected) {
        die ('Cannot use database : ' . $DBName . ' - ' . mysql_errno($Link) . ': ' . mysql_error($Link));
    }
}

我正在使用 XAMPP 来运行 PHP 并允许它连接到 SQL Server,我相信我已经正确设置了它,因为它大部分时间都可以工作,但是它会引发错误

mysql_error() expects parameter 1 to be resource, boolean given in ... Cannot use database db1

但是在刷新时它有时可以再次工作

apache 和 mysql 错误日志什么也没显示,php 只显示上面的警告,我不确定是什么导致了这个问题,有没有人遇到过这样的问题或者知道我可以从哪里开始修复它?

编辑:

我看到有人说可能重复的参数被初始化错误,我不认为是这种情况,我们正在运行一些旧代码并运行 PHP 5.6 及其设置

$Link = @db::connect($DBHost, $User, $Password);
db::select_database($DBName, $Link);
$Link_master = null;

$GLOBALS['db_timeout_occured'] = false;

class db {

static function connect($DBHost, $User, $Password){
    $Link = @mysql_connect($DBHost, $User, $Password);
    if($GLOBALS['debug_sql_time_log']) {
        $GLOBALS['debug_sql_time_print'] = '';
        $GLOBALS['debug_sql_time_total'] = 0;
    }
    if(!$Link) db::db_error(mysql_errno($Link) . ': ' . mysql_error($Link), $bln_trace=false);
    return $Link;
}

function close_connection($Link) {
    if($GLOBALS['debug_sql_time_log']) {
        echo $GLOBALS['debug_sql_time_print'] . '<br />';
        echo "Total MySQL time: " . $GLOBALS['debug_sql_time_total'] . 's<br />';
    }
    mysql_close($Link);
}

static function select_database($DBName, $Link){
    $bln_db_selected = mysql_select_db($DBName, $Link);
    if (!$bln_db_selected) {
        die ('Cannot use database : ' . $DBName . ' - ' . mysql_errno($Link) . ': ' . mysql_error($Link));
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM