Вход Регистрация
Файл: includes/pdo.php
Строк: 70
<?php

// ---------------------------- Класс для работы с базами данных -------------------------------//
class PDO_ extends PDO {
  function 
__construct($dsn, $username, $password) {
    
parent :: __construct($dsn, $username, $password);
    
$this -> setAttribute(PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);
    
$this -> setAttribute(PDO :: ATTR_DEFAULT_FETCH_MODE, PDO :: FETCH_ASSOC);
  }

  function 
prepare($sql) {
    
$stmt = parent :: prepare($sql, array(
        
PDO :: ATTR_STATEMENT_CLASS => array('PDOStatement_')
        ));
    return 
$stmt;
  }

  function 
query($sql, $params = array()) {
    
$stmt = $this -> prepare($sql);
    
$stmt -> execute($params);
    return 
$stmt;
  }

  function 
querySingle($sql, $params = array()) {
    
$stmt = $this -> query($sql, $params);
    
$stmt -> execute($params);
    return 
$stmt -> fetchColumn(0);
  }

  function 
queryFetch($sql, $params = array()) {
    
$stmt = $this -> query($sql, $params);
    
$stmt -> execute($params);
    return 
$stmt -> fetch();
  }
}
// ----------------------------------------------------//
class PDOStatement_ extends PDOStatement {
  function 
execute($params = array()) {
    if (
func_num_args() == 1) {
      
$params = func_get_arg(0);
    } else {
      
$params = func_get_args();
    }
    if (!
is_array($params)) {
      
$params = array($params);
    }
    
parent :: execute($params);
    return 
$this;
  }

  function 
fetchSingle() {
    return 
$this -> fetchColumn(0);
  }

  function 
fetchAssoc() {
    
$this -> setFetchMode(PDO :: FETCH_NUM);
    
$data = array();
    while (
$row = $this -> fetch()) {
      
$data[$row[0]] = $row[1];
    }
    return 
$data;
  }
}

//include_once (BASEDIR . 'includes/connect.php');

class DB {
  static 
$dbh;

  public function 
__construct() {
    try {
      
self :: $dbh = new PDO_('mysql:host=' . DBHOST . ';port=' . DBPORT . ';dbname=' . DBNAME, DBUSER, DBPASS);
      
self :: $dbh -> exec('SET CHARACTER SET utf8');
      
self :: $dbh -> exec('SET NAMES utf8');
    }
    catch (
PDOException $e) {
      if (
file_exists(BASEDIR . 'install/index.php')) {
        
header ('Location: ' . BASEDIR . 'install/index.php');
        exit;
      }
      die(
'Connection failed: ' . $e -> getMessage());
    }
  }

  final public function 
__destruct() {
    
self :: $dbh = null;
  }
}

$database = new DB();




?>
Онлайн: 2
Реклама