]> git.wh0rd.org - tt-rss.git/blame - classes/db.php
classes: use OO DB interface
[tt-rss.git] / classes / db.php
CommitLineData
95947917
AD
1<?php
2class Db implements IDb {
3 private static $instance;
4 private $adapter;
404e2e36 5 private $link;
95947917
AD
6
7 private function __construct() {
8 switch (DB_TYPE) {
9 case "mysql":
ae35bb87
AD
10 if (function_exists("mysqli_connect")) {
11 $this->adapter = new Db_Mysqli();
12 } else {
13 $this->adapter = new Db_Mysql();
14 }
95947917
AD
15 break;
16 case "pgsql":
17 $this->adapter = new Db_Pgsql();
18 break;
19 default:
aca75cb5 20 die("Unknown DB_TYPE: " . DB_TYPE);
95947917
AD
21 }
22
ae35bb87 23 $this->link = $this->adapter->connect(DB_HOST, DB_USER, DB_PASS, DB_NAME, defined('DB_PORT') ? DB_PORT : false);
95947917
AD
24 }
25
26 private function __clone() {
27 //
28 }
29
30 public static function get() {
31 if (self::$instance == null)
32 self::$instance = new self();
33
34 return self::$instance;
35 }
36
37 static function quote($str){
38 return("'$str'");
39 }
40
41 function connect($host, $user, $pass, $db, $port) {
42 //return $this->adapter->connect($host, $user, $pass, $db, $port);
6322ac79 43 return ;
95947917
AD
44 }
45
46 function escape_string($s, $strip_tags = true) {
47 return $this->adapter->escape_string($s, $strip_tags);
48 }
49
50 function query($query, $die_on_error = true) {
51 return $this->adapter->query($query, $die_on_error);
52 }
53
54 function fetch_assoc($result) {
55 return $this->adapter->fetch_assoc($result);
56 }
57
58 function num_rows($result) {
59 return $this->adapter->num_rows($result);
60 }
61
62 function fetch_result($result, $row, $param) {
63 return $this->adapter->fetch_result($result, $row, $param);
64 }
65
66 function close() {
67 return $this->adapter->close();
68 }
69
70 function affected_rows($result) {
71 return $this->adapter->affected_rows($result);
72 }
73
74 function last_error() {
75 return $this->adapter->last_error();
76 }
77
78}
79?>