summaryrefslogtreecommitdiff
path: root/classes/db.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-04-17 21:19:00 +0400
committerAndrew Dolgov <[email protected]>2013-04-17 21:19:00 +0400
commite441b5837b84f8313e506a3d1b087f269f4a9fb3 (patch)
tree5d7c131538588eebb3813a9f002542e7db072a55 /classes/db.php
parentd9c85e0f112034ca3e3f4d34213f6dcccf9d54e1 (diff)
initial
Diffstat (limited to 'classes/db.php')
-rw-r--r--classes/db.php39
1 files changed, 27 insertions, 12 deletions
diff --git a/classes/db.php b/classes/db.php
index c9d9ad5ea..86d2ab897 100644
--- a/classes/db.php
+++ b/classes/db.php
@@ -5,22 +5,37 @@ class Db implements IDb {
private $link;
private function __construct() {
- switch (DB_TYPE) {
- case "mysql":
- if (function_exists("mysqli_connect")) {
- $this->adapter = new Db_Mysqli();
- } else {
- $this->adapter = new Db_Mysql();
+
+ $er = error_reporting(E_ALL);
+
+ if (class_exists("PDO")) {
+ $this->adapter = new Db_PDO();
+ } else {
+ switch (DB_TYPE) {
+ case "mysql":
+ if (function_exists("mysqli_connect")) {
+ $this->adapter = new Db_Mysqli();
+ } else {
+ $this->adapter = new Db_Mysql();
+ }
+ break;
+ case "pgsql":
+ $this->adapter = new Db_Pgsql();
+ break;
+ default:
+ die("Unknown DB_TYPE: " . DB_TYPE);
}
- break;
- case "pgsql":
- $this->adapter = new Db_Pgsql();
- break;
- default:
- die("Unknown DB_TYPE: " . DB_TYPE);
}
+ if (!$this->adapter) die("Error initializing database adapter for " . DB_TYPE);
+
$this->link = $this->adapter->connect(DB_HOST, DB_USER, DB_PASS, DB_NAME, defined('DB_PORT') ? DB_PORT : false);
+
+ if (!$this->link) {
+ die("Error connecting through adapter: " . $this->adapter->last_error());
+ }
+
+ error_reporting($er);
}
private function __clone() {