diff options
author | Andrew Dolgov <[email protected]> | 2013-04-18 08:28:03 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2013-04-18 08:28:03 +0400 |
commit | 73663db316e5f64660cd64cca2233269c63d0661 (patch) | |
tree | 1acf6207de56b313a120c7400ea3ab72b611f1e1 | |
parent | 9ee90455b85350e9f9cd04faf36bad8742141cd9 (diff) |
support pgsql in pdo
-rw-r--r-- | classes/db/pdo.php | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/classes/db/pdo.php b/classes/db/pdo.php index 3020dea88..59499139d 100644 --- a/classes/db/pdo.php +++ b/classes/db/pdo.php @@ -3,10 +3,14 @@ class Db_PDO implements IDb { private $pdo; function connect($host, $user, $pass, $db, $port) { - $connstr = DB_TYPE . ":host=$host;dbname=$db;charset=utf8"; + $connstr = DB_TYPE . ":host=$host;dbname=$db"; + + if (DB_TYPE == "mysql") $connstr .= ";charset=utf8"; try { $this->pdo = new PDO($connstr, $user, $pass); + $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + $this->init(); } catch (PDOException $e) { die($e->getMessage()); } @@ -77,5 +81,20 @@ class Db_PDO implements IDb { function last_error() { return join(" ", $pdo->errorInfo()); } + + function init() { + switch (DB_TYPE) { + case "pgsql": + $this->query("set client_encoding = 'UTF-8'"); + $this->query("set datestyle = 'ISO, european'"); + $this->query("set TIME ZONE 0"); + case "mysql": + $this->query("SET time_zone = '+0:0'"); + return; + } + + return true; + } + } ?> |