如何检查 PHP 是否已连接到数据库?

2022-08-30 12:03:55

基本上在伪代码中,我正在寻找类似的东西

if (connected_to_any_database()) {
    // do nothing
}
else {
    mysql_connect(...)
}

如何实现

connected_to_any_database()

答案 1

你试过mysql_ping()吗

更新:从 PHP 5.5 开始,请改用 mysqli_ping()。

Ping 服务器连接,或在连接断开时尝试重新连接。

if ($mysqli->ping()) {
  printf ("Our connection is ok!\n"); 
} else {
  printf ("Error: %s\n", $mysqli->error); 
}

或者,第二种(不太可靠)的方法是:

$link = mysql_connect('localhost','username','password');
//(...)
if($link == false){
    //try to reconnect
}

答案 2

尝试使用 PHP 的 mysql_ping 函数:

echo @mysql_ping() ? 'true' : 'false';

您需要在“@”之前加上“@”,以假设您将在不连接到数据库的情况下运行此函数时获得的MySQL警告。

还有其他方法,但这取决于您使用的代码。


推荐