【问题标题】:How do I check if I'm connected to database?如何检查我是否连接到数据库?
【发布时间】:2012-08-26 20:38:50
【问题描述】:

这是连接mysql数据库的代码:

$con = mysql_connect("", "", "");

if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("", $con);

我想根据状态回显“已连接”/“已断开”。

怎么做?

【问题讨论】:

标签: php mysql connection conditional-statements


【解决方案1】:

这样做

if ($con) {
  echo 'connected';
} else {
  echo 'not connected';
}

或者试试这个

echo $con ? 'connected' : 'not connected';

【讨论】:

    【解决方案2】:

    首先,使用mysqli_xxx() 函数代替旧的过时mysql_xx() 函数。

    无论如何强烈建议这样做,因为旧库正在被弃用,但也会使您的问题更容易回答。 (您也可以使用 PDO 库,其答案类似,但为了简单起见,我将坚持使用 mysqli)

    使用mysqli 库,您可以获得一个包含数据库连接的变量,您可以随时检查它。

    $mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
    

    现在,您可以查询 $mysqli 变量以了解发生了什么。

    if ($mysqli->connect_error) {
        die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
    }
    

    稍后,您可以使用ping 命令查询变量:http://www.php.net/manual/en/mysqli.ping.php

    $mysqli->ping();
    

    如果您想了解更多信息,也可以使用 stat 命令:http://www.php.net/manual/en/mysqli.stat.php

    【讨论】:

    • 我正在尝试使用 Mysqli,但我无法解决连接错误。大多数服务器都支持mysqli吗?我正在使用媒体。谢谢
    • @Liso22 - 我对 mediatemplate 知之甚少,但是 mysqli 是 PHP 的标准部分,并且已经存在很长时间了。长期以来,它也被推荐优先于旧的 mysql 库,所以我无法想象任何质量的 PHP 系统不支持它。
    【解决方案3】:

    尝试使用 mysql_ping

    mysql_ping — ping 服务器连接,如果没有则重新连接 连接

    这样的东西应该可以帮助你

    if(mysql_ping($con)) 
      echo 'connected'; 
     else 
      echo 'disconnected';
    

    【讨论】:

    猜你喜欢
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多