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

del*_*ber 38 php mysql

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

if (connected_to_any_database()) {
    // do nothing
}
else {
    mysql_connect(...)
}
Run Code Online (Sandbox Code Playgroud)

我该如何实施

connected_to_any_database()
Run Code Online (Sandbox Code Playgroud)

mai*_*ilo 47

你试过mysql_ping()吗?

检查与服务器的连接是否正常.如果它已经下降,则尝试自动重新连接.

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

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

更新:从PHP 5.5开始,使用mysqli_ping()代替.

  • 更新:使用PHP 5.5以后,使用[`mysqli_ping()`](http://www.php.net/manual/en/mysqli.ping.php) (4认同)

McH*_*bie 19

尝试使用PHP的mysql_ping函数:

echo @mysql_ping() ? 'true' : 'false';
Run Code Online (Sandbox Code Playgroud)

你需要在前面加上"@"来假设运行这个函数时你得到的MySQL警告没有连接到数据库.

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