一尘不染

PDO连接测试

mysql

我正在为我的一个应用编写安装程序,我希望能够测试一些默认数据库设置。

使用PDO可以测试有效和无效的数据库连接吗?

我有以下代码:

try{
            $dbh = new pdo('mysql:host=127.0.0.1:3308;dbname=axpdb','admin','1234');
            die(json_encode(array('outcome' => true)));
        }catch(PDOException $ex){
            die(json_encode(array(
                'outcome' => false,
                'message' => 'Unable to connect'
            )));
        }

我遇到的问题是该脚本尝试连接,直到60秒的脚本执行时间用完,而不是说它无法连接到数据库。

谢谢


阅读 365

收藏
2020-05-17

共1个答案

一尘不染

您需要在连接数据库时设置错误模式:

try{
    $dbh = new pdo( 'mysql:host=127.0.0.1:3308;dbname=axpdb',
                    'admin',
                    '1234',
                    array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    die(json_encode(array('outcome' => true)));
}
catch(PDOException $ex){
    die(json_encode(array('outcome' => false, 'message' => 'Unable to connect')));
}

有关更多信息,请参见以下链接:

将MySQL与PDO结合使用

错误和错误处理

2020-05-17