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

    
# mark core  v1.0
    # author Drk in
    # date 24.10.19 

    # class PDO 

   
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()) { 
        static 
$count_query = 1;
        global 
$count_query; $count_query++;
        
$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; 
    }
    
}      
    
class 
DB { 

    static 
$dbh; 
    public function 
__construct() { 
        try { 
            
self :: $dbh = new PDO_('mysql:host=' . HOSTNAME . ';dbname=' . DATABASE, USERNAME, PASSWORD); 
            
self :: $dbh -> exec('SET CHARACTER SET utf8'); 
            
self :: $dbh -> exec('SET NAMES utf8'); 
        }      

        catch (
PDOException $e) { 
        die(
'К сожалению, не доступен сервер MySQL.');} }  
 
        final public function 
__destruct() { 
            
self :: $dbh = null; 
        }  
        
}  
$database = new DB();     
    
?>
Онлайн: 2
Реклама