Advertisement
stuppid_bot

Untitled

Feb 27th, 2014
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.89 KB | None | 0 0
  1. <?php
  2.  
  3. class DB extends PDO {
  4.     private $_host = 'localhost',
  5.         $_database = 'roystonvasey',
  6.         $_username = 'root',
  7.         $_password = '',
  8.         $_tablePrefix = 'rv_',
  9.         $_charset = 'utf8';
  10.  
  11.     private function __construct() {
  12.         $dsn = 'mysql:dbname=' . $this->_database . ';host=' . $this->_host;
  13.         parent::__construct($dsn, $this->_username, $this->_password);
  14.         $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  15.         $this->exec("SET NAMES {$this->_charset}");
  16.      }
  17.  
  18.     static function getInstance() {
  19.         static $db;
  20.         if ($db == null) {
  21.             $db = new self;
  22.         }
  23.         return $db;
  24.      }
  25.  
  26.      function addTablePrefix($table_name) {
  27.         return '`' . $this->_tablePrefix . $table_name . '`';
  28.      }
  29.  
  30.      function insert($table_name, $data) {
  31.         $sql = 'INSERT INTO ' . $this->addTablePrefix($table_name);
  32.         $aux = array_values($data);
  33.         if ($aux != $data) {
  34.             $sql .= ' (`' . implode('`, `', array_keys($data)) . '`)';
  35.         }
  36.         $sql .= ' VALUES(' . implode(', ', array_fill(0, count($aux), '?')) . ')';
  37.         $stmt = $this->prepare($sql);
  38.         $stmt->execute($val);
  39.         return $this->lastInsertId();
  40.     }
  41.  
  42.     function update($table_name, $data, $id) {
  43.         $items = array();
  44.         foreach (array_keys($data) as $v) {
  45.             $items[] = "`$v`=?";
  46.         }
  47.         $items = implode(',', $items);
  48.         $sql = "UPDATE {$this->addTablePrefix($table_name)} SET $items WHERE `id`=" . intval($id);
  49.         $stmt = $this->prepare($sql);
  50.         $stmt->execute(array_values($data));
  51.         return $stmt->rowCount();
  52.     }
  53.  
  54.     function delete($table_name, $id) {
  55.         $sql = "DELETE FROM {$this->addTablePrefix($table_name)} WHERE `id`=" . intval($id);
  56.         $stmt = $this->query($sql);
  57.         return $stmt->rowCount();
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement