首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDO连接异常捕获

PDO连接异常捕获
EN

Stack Overflow用户
提问于 2012-05-12 18:13:26
回答 2查看 2.8K关注 0票数 2

我在PDO的日子过得很艰难。我扩展了PDO类,每次连接到数据库时(密码错误等等),它都不会捕获异常。

以下是当前代码:

代码语言:javascript
复制
public function __construct() {
    $dsn  = 'mysql:host=' . Config::host .
            ';dbname='    . Config::db;
    $user = Config::user;
    $pass = Config::pass;
    $opts = array(
        \PDO::ATTR_PERSISTENT => true,
        \PDO::ATTR_ERRMODE    => \PDO::ERRMODE_EXCEPTION 
    ); 

    try {
        parent::__construct($dsn, $user, $pass, $opts);
    } catch(PDOException $e) {
        echo $e->getMessage();
    }

}

以下是显示的错误:

代码语言:javascript
复制
Fatal error: Uncaught exception 'PDOException' with message 
'SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost'
(using password: YES)' in
/home/rasmus/www/n1_cms/N1/Core/Database.php on line 21

PDOException: SQLSTATE[HY000] [1045] Access denied for user
'root'@'localhost' (using password: YES) in
/home/rasmus/www/n1_cms/N1/Core/Database.php on line 21

编辑:解决方案

由于使用名称空间,它无法工作。

更改:

代码语言:javascript
复制
catch(PDOException $e)

至:

代码语言:javascript
复制
catch(\PDOException $e)
EN

回答 2

Stack Overflow用户

发布于 2012-05-12 18:43:30

似乎类'PDOException‘不存在于您的命名空间中。尝试更改catch块:catch(\PDOException $e)

票数 2
EN

Stack Overflow用户

发布于 2012-05-12 18:38:02

parent::__construct($dsn, $user, $pass, $opts);中移动try/catch

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10566238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档