summaryrefslogtreecommitdiff
path: root/classes/db
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-04-18 08:28:03 +0400
committerAndrew Dolgov <[email protected]>2013-04-18 08:28:03 +0400
commit73663db316e5f64660cd64cca2233269c63d0661 (patch)
tree1acf6207de56b313a120c7400ea3ab72b611f1e1 /classes/db
parent9ee90455b85350e9f9cd04faf36bad8742141cd9 (diff)
support pgsql in pdo
Diffstat (limited to 'classes/db')
-rw-r--r--classes/db/pdo.php21
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;
+ }
+
}
?>