PHP / PDO: как получить текущий статус соединения
что такое эквивалент PDO:
mysqli_stat($dbConn);
P. S. Я использую его (сообщение) убедиться, что я связан.
5 ответов
Я не могу получить кредит за этот ответ. кто-то опубликовал ответ, но он/она удалил запись.
здесь (saved archived)
ответ на ваш вопрос:
$status = $conn->getAttribute(PDO::ATTR_CONNECTION_STATUS);
$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 */