PHP / PDO:如何获取当前连接状态

时间:2014-02-06 06:14:11

标签: php pdo connection database-connection

什么是PDO相当于:

mysqli_stat($dbConn);

P.S。我用它来(收到消息)确保我已连接

5 个答案:

答案 0 :(得分:13)

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

以下是您问题的(saved archived)答案:

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

答案 1 :(得分:3)

你可以使用

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

Connections and Connection management
PDO::getAttribute

答案 2 :(得分:3)

$ 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 :(得分:1)

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

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

答案 4 :(得分:-1)

您可以使用此代码检查您的PDO连接

    /* PDO connection start */
    try {

        $conn = new PDO("mysql:host=$server; dbname=$sdosmsDB", $username, $password);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); /* PDO::ERRMODE_EXCEPTION, PDO::ERRMODE_SILENT, and PDO::ERRMODE_WARNING  */        
        $conn->exec("SET CHARACTER SET utf8"); 

    } catch(PDOException $e) {

        die( 'Database Connection failed: ' . $e->getMessage());

    }
    /* PDO connection end */