2 class Db implements IDb {
3 private static $instance;
7 private function __construct() {
10 $this->adapter = new Db_Mysql();
13 $this->adapter = new Db_Pgsql();
16 die("Unknown DB_TYPE: " . DB_TYPE);
19 $this->link = $this->adapter->connect(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT);
22 private function __clone() {
26 public static function get() {
27 if (self::$instance == null)
28 self::$instance = new self();
30 return self::$instance;
33 static function quote($str){
37 function connect($host, $user, $pass, $db, $port) {
38 //return $this->adapter->connect($host, $user, $pass, $db, $port);
42 function escape_string($s, $strip_tags = true) {
43 return $this->adapter->escape_string($s, $strip_tags);
46 function query($query, $die_on_error = true) {
47 return $this->adapter->query($query, $die_on_error);
50 function fetch_assoc($result) {
51 return $this->adapter->fetch_assoc($result);
54 function num_rows($result) {
55 return $this->adapter->num_rows($result);
58 function fetch_result($result, $row, $param) {
59 return $this->adapter->fetch_result($result, $row, $param);
63 return $this->adapter->close();
66 function affected_rows($result) {
67 return $this->adapter->affected_rows($result);
70 function last_error() {
71 return $this->adapter->last_error();