Php PDO连接未显示所有错误
在建立新的PDO连接时,我很难显示错误。只有在配置文件中输入了错误的密码时,才会显示错误。它不会显示错误的数据库名称、用户名或主机的错误Php PDO连接未显示所有错误,php,mysql,exception,pdo,Php,Mysql,Exception,Pdo,在建立新的PDO连接时,我很难显示错误。只有在配置文件中输入了错误的密码时,才会显示错误。它不会显示错误的数据库名称、用户名或主机的错误 <?php // config file return [ 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'query_test', 'username' => 'root', 'passwor
<?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;
}
}
更改:
$connection = new PDO($dsn, $username, $password, $options);
return $connection;
致:
我忽略了一个简单的错误。我使用了“mysql:{$host}”而不是“mysql:host={$host}”
很抱歉犯了这个愚蠢的错误,但谢谢你的回答
try {
$connection = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
return $connection;