Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO连接未显示所有错误_Php_Mysql_Exception_Pdo - Fatal编程技术网

Php 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

在建立新的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;
        }
    }
更改:

$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;