php - 如何在 Phalcon 中正确初始化数据库连接

标签 php mysql pdo phalcon

目前,我通过以下方式初始化数据库:

$di->set('db', function() use ($config){
    return new \Phalcon\Db\Adapter\Pdo\Mysql(
        array(
            "host" => $config->database->host,
            "username" => $config->database->username,
            "password" => $config->database->password,
            "dbname" => $config->database->name
        )
    );
});

但是当 mysql 凭据错误或数据库不存在时,Phalcon 返回空白页面且没有任何错误消息。这种情况真是令人头疼,因为登录名/密码/主机的小错误会导致几乎无法追踪的错误。

我认为在这种情况下,Pdo 构造函数会停止 PHP 代码的执行。

那么当你想让网站告诉你数据库有问题时,你如何在 Phalcon 中初始化数据库连接?

最佳答案

我以以下代码结束:

$di->set('db', function() use ($config){
    try {
        $db = new \Phalcon\Db\Adapter\Pdo\Mysql(
            array(
                "host" => $config->database->host,
                "username" => $config->database->username,
                "password" => $config->database->password,
                "dbname" => $config->database->name
            )
        );
    } catch (Exception $e) {
        die("<b>Error when initializing database connection:</b> " . $e->getMessage());
    }
    return $db;
});

请告诉我是否有更好的方法。

关于php - 如何在 Phalcon 中正确初始化数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25285851/

相关文章:

php - 喊话箱 : Best way to count users active

php - Laravel Redis 配置

php - 如果 preg_match 不匹配模式,则取消设置数组?

php - MySQL 中两列的不同值

php - 警告:PDOStatement::execute():SQLSTATE[HY093]:参数数量无效:绑定(bind)变量的数量与标记数量不匹配

php - 找不到 Laravel 5.1 View

mysql - 如何计算单个查询中每个用户的百分比?

mysql - 使用 AVG mysql 获得最高评价的项目

php - PHP PDO 语句可以接受表名或列名作为参数吗?

PHP PDO 选择并输出第一个找到的行结果