]>
git.wh0rd.org - tt-rss.git/blob - classes/db.php
2 class Db
implements IDb
{
3 private static $instance;
7 private function __construct() {
10 if (function_exists("mysqli_connect")) {
11 $this->adapter
= new Db_Mysqli();
13 $this->adapter
= new Db_Mysql();
17 $this->adapter
= new Db_Pgsql();
20 die("Unknown DB_TYPE: " . DB_TYPE
);
23 $this->link
= $this->adapter
->connect(DB_HOST
, DB_USER
, DB_PASS
, DB_NAME
, defined('DB_PORT') ? DB_PORT
: false);
26 private function __clone() {
30 public static function get() {
31 if (self
::$instance == null)
32 self
::$instance = new self();
34 return self
::$instance;
37 static function quote($str){
41 function connect($host, $user, $pass, $db, $port) {
42 //return $this->adapter->connect($host, $user, $pass, $db, $port);
46 function escape_string($s, $strip_tags = true) {
47 return $this->adapter
->escape_string($s, $strip_tags);
50 function query($query, $die_on_error = true) {
51 return $this->adapter
->query($query, $die_on_error);
54 function fetch_assoc($result) {
55 return $this->adapter
->fetch_assoc($result);
58 function num_rows($result) {
59 return $this->adapter
->num_rows($result);
62 function fetch_result($result, $row, $param) {
63 return $this->adapter
->fetch_result($result, $row, $param);
67 return $this->adapter
->close();
70 function affected_rows($result) {
71 return $this->adapter
->affected_rows($result);
74 function last_error() {
75 return $this->adapter
->last_error();