Fixed PDO creation for PostgreSQL without pdo_mysql extension. Issue #73.

This commit is contained in:
Dmitry Khomutov 2017-05-29 18:50:18 +07:00
commit fd356a4dda
No known key found for this signature in database
GPG key ID: 7EB36C9576F9ECB9
2 changed files with 26 additions and 18 deletions

View file

@ -75,18 +75,22 @@ class Database extends \PDO
}
$dns .= ';dbname=' . self::$details['db'];
$pdoOptions = [
\PDO::ATTR_PERSISTENT => false,
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
\PDO::ATTR_TIMEOUT => 2,
];
if ('mysql' === self::$details['type']) {
$pdoOptions[\PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES 'UTF8'";
}
// Try to connect:
try {
$connection = new self(
$dns,
self::$details['user'],
self::$details['pass'],
[
\PDO::ATTR_PERSISTENT => false,
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
\PDO::ATTR_TIMEOUT => 2,
\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'',
]
$pdoOptions
);
} catch (\PDOException $ex) {
$connection = false;