PHP / PDO: как получить текущий статус соединения

что такое эквивалент PDO:

mysqli_stat($dbConn);

P. S. Я использую его (сообщение) убедиться, что я связан.

5 ответов


Я не могу получить кредит за этот ответ. кто-то опубликовал ответ, но он/она удалил запись.

здесь (saved archived) ответ на ваш вопрос:

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

можно использовать

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

подключения и управление подключениями
PDO:: getAttribute


PDO::getAttribute - получить атрибут подключения к базе данных

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


$pdo - >getAttribute (PDO::ATTR_CONNECTION_STATUS) всегда возвращает "127.0.0.1 через 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));
}

вы можете использовать этот код для проверки подключения 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 */