【问题标题】:PHP/PDO: How to get the current connection statusPHP/PDO:如何获取当前连接状态
【发布时间】:2024-06-22 01:20:02
【问题描述】:

什么是 PDO 等价物:

mysqli_stat($dbConn);

附:我用它来(收到消息)确保我已连接

【问题讨论】:

  • @witherwind 它不是重复的。我正在寻找一种连接状态方法。另一个问题是测试连接。

标签: php pdo connection database-connection


【解决方案1】:

我无法得到这个答案。有人发布了答案,但他/她后来删除了该条目。

这是(saved archived) 对您问题的回答:

$status = $conn->getAttribute(PDO::ATTR_CONNECTION_STATUS);

【讨论】:

  • 那么你会因将它从遗忘中拯救出来(并帮助我)而获得荣誉。 :)
【解决方案2】:

$pdo->getAttribute(PDO::ATTR_CONNECTION_STATUS) 总是返回“127.0.0.1 via TCP/IP”,即使我停止了 mysqld,使用:

if ($pdo->getAttribute(PDO::ATTR_SERVER_INFO)=='MySQL server has gone away')
{
    $pdo=new PDO('mysql:host=127.0.0.1;port=3306;dbname=mydb;charset=UTF8', 'root', '', array(PDO::ATTR_PERSISTENT=>true));
}

【讨论】:

    【解决方案3】:

    你可以使用

    $name = $conn->getAttribute(PDO::ATTR_DRIVER_NAME);
    

    Connections and Connection management
    PDO::getAttribute

    【讨论】:

    • $status = $conn->getAttribute(PDO::ATTR_CONNECTION_STATUS);
    【解决方案4】:

    PDO::getAttribute - 检索数据库连接属性

    http://www.php.net/manual/en/pdo.getattribute.php

    【讨论】: