Вход Регистрация
Файл: system/PHP-classes/DB.class.php
Строк: 3
<?php

/*
-------------------------------
Класс для работы с базой данных
-------------------------------
*/  
  
CLASS DB
{
  
  
//Объект PDO
  
PUBLIC STATIC $DB NULL;
  
  PUBLIC STATIC 
$ST NULL;
  
  
//SQL запрос
  
PUBLIC STATIC $QUERY '';
  
  
/*
  --------------------------------------
  Подключение драйвера PDO к базе данных
  --------------------------------------
  */
  
  
PUBLIC STATIC FUNCTION CONNECT($status 1)
  {
    IF (!
SELF::$DB) {
      
      TRY {
        
        
SELF::$DB = NEW PDO(
          
'mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8'
          
DB_USER
          
DB_PASSWORD,
          ARRAY(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")
        );
        
        
SELF::$DB->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_WARNING);
        
      } CATCH (
PDOException $e) {
        
        IF (
$status == 1){
          
          ECHO 
"Нет подключения к базе данных<br /><br />";
          ECHO 
"Параметры ошибки:<br /> " $e->getMessage();
          ECHO 
"<hr>";
          
        }
        
      }
      
    }
    
    RETURN 
SELF::$DB;
    
  }
  
  
/*
  --------------------------------------
  Получение 1 строки из таблицы
  --------------------------------------
  */
  
  
PUBLIC STATIC FUNCTION GET_STRING($query$param = ARRAY())
  {
    
    IF (
SELF::CONNECT(0)){
      
      
SELF::$ST SELF::CONNECT()->PREPARE($query);
      
SELF::$ST->EXECUTE((ARRAY) $param);
      
      RETURN 
SELF::$ST->FETCH(PDO::FETCH_ASSOC);
    
    }
    
  } 
  
  
/*
  --------------------------------------
  Получение всех строк из таблицы
  --------------------------------------
  */
  
  
PUBLIC STATIC FUNCTION GET_STRING_ALL($query$param = ARRAY())
  {
    
    IF (
SELF::CONNECT(0)){
      
      
SELF::$ST SELF::CONNECT()->PREPARE($query);
      
SELF::$ST->EXECUTE((ARRAY) $param);
      
      RETURN 
SELF::$ST;
      
    }
    
  }
  
  
/*
  ------------------------------
  Получение 1 столбца из таблицы
  ------------------------------
  */
  
  
PUBLIC STATIC FUNCTION GET_COLUMN($query$param = ARRAY())
  {
    
    IF (
SELF::CONNECT(0)){
      
      
SELF::$ST SELF::CONNECT()->PREPARE($query);
      
SELF::$ST->EXECUTE((ARRAY) $param);
      
      RETURN 
SELF::$ST->FETCHCOLUMN();
      
    }
    
  }
  
  
/*
  ---------------------------
  Добавление строки в таблицу
  ---------------------------
  */
  
  
PUBLIC STATIC FUNCTION GET_ADD($query$param = ARRAY())
  {
    
    IF (
SELF::CONNECT(0)){
      
      
SELF::$ST SELF::CONNECT()->PREPARE($query);
      
      RETURN (
SELF::$ST->EXECUTE((ARRAY) $param)) ? SELF::CONNECT()->LASTINSERTID() : 0;
      
    }
    
  }
  
  
/*
  -----------------------------------
  Изменение/удаление строки в таблице
  -----------------------------------
  */
  
  
PUBLIC STATIC FUNCTION GET_SET($query$param = ARRAY())
  {
    
    IF (
SELF::CONNECT(0)){
      
      
SELF::$ST SELF::CONNECT()->PREPARE($query);
      
      RETURN 
SELF::$ST->EXECUTE((ARRAY) $param);
      
    }
    
  }
  
  
/*
  ---------------------------------------------
  Выполнение запроса в базу данных из SQL файла
  ---------------------------------------------
  */
  
  
PUBLIC STATIC FUNCTION GET_SQL_FILE($path_file)
  {

    
$file FILE_GET_CONTENTS($path_file);
    
    
$data EXPLODE(';' $file);
    
    IF (
$file){
      
      FOREACH (
$data AS $el){
        
        
DB::GET_ADD($el);
        
      }
      
      RETURN 
1;
    
    }ELSE{
      
      RETURN 
0;
    
    }
    
  }

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