Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class DB extends PDO {
- private $_host = '127.0.0.1',
- $_database = 'vk',
- $_username = 'root',
- $_password = '',
- $_tablePrefix = '';
- private function __construct() {
- $dsn = "mysql:dbname={$this->_database};host=" . $this->_host;
- parent::__construct($dsn, $this->_username, $this->_password);
- $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- }
- static function getInstance() {
- static $db;
- if ($db == null) {
- $db = new self;
- }
- return $db;
- }
- function addTablePrefix($table_name) {
- return '`' . $this->_tablePrefix . $table_name . '`';
- }
- function insert($table_name, $data) {
- $sql = 'INSERT INTO ' . $this->addTablePrefix($table_name);
- $val = array_values($data);
- // если массив ассоциативный
- if ($val != $data) {
- $sql .= ' (`' . implode('`,`', array_keys($data)) . '`)';
- }
- $sql .= ' VALUES(' . implode(',', array_fill(0, count($val), '?')) . ');';
- $stmt = $this->prepare($sql);
- $stmt->execute($val);
- return $this->lastInsertId();
- }
- function update($table_name, $data, $id, $id_name = 'id') {
- $id = (int) $id;
- $items = array();
- foreach (array_keys($data) as $v) {
- $items[] = "`$v`=?";
- }
- $items = implode(',', $items);
- $sql = "UPDATE {$this->addTablePrefix($table_name)} SET $items WHERE `$id_name`=$id;";
- $stmt = $this->prepare($sql);
- $stmt->execute(array_values($data));
- return $stmt->rowCount();
- }
- function delete($table_name, $id, $id_name = 'id') {
- $id = (int) $id;
- $sql = "DELETE FROM {$this->addTablePrefix($table_name)} WHERE `$id_name`=$id;";
- $stmt = $this->query($sql);
- return $stmt->rowCount();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement