2014-02-06 40 views
7

什么是PDO相当于:PHP/PDO:如何获取当前连接状态

mysqli_stat($dbConn); 

附:我用它(得到一个消息)确保我连接

+0

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

回答

11

I不能得到这个答案的功劳。 有人发布了答案,但他/她后者删除了该条目。

这里的(saved archived)回答你的问题:

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

然后你因忘记保存而获得功劳(并帮助我)。 :) – Russ

+1

@russ你是对的!谢谢!!! – Omar

1

$ pdo->的getAttribute(PDO :: ATTR_CONNECTION_STATUS)总是 “通过TCP/IP 127.0.0.1” 即使我停止的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)); 
} 
0

您可以使用此代码来检查你的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 */