【发布时间】:2015-04-03 09:52:00
【问题描述】:
在建立新的 PDO 连接时,我无法显示错误。如果我在配置文件中输入了错误的密码,它只会显示错误。它不会显示错误的数据库名称、用户名或主机错误。
<?php
// config file
return [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'query_test',
'username' => 'root',
'password' => '',
'options' => [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_CLASS,
PDO::ATTR_EMULATE_PREPARES => false
]
];
// connector file
use PDO;
class MySqlConnector implements ConnectorInterface
{
public function connect(array $config)
{
extract($config);
$dsn = "mysql:{$host};dbname={$database}";
$connection = new PDO($dsn, $username, $password, $options);
return $connection;
}
}
我尝试过使用 try/catch 块以及设置 ini 显示错误和错误报告 E_ALL。似乎无法弄清楚这一点。
【问题讨论】: