Вход Регистрация
Файл: system/classes/mysql.php
Строк: 110
<?php
/* 
    Appointment: Класс для работы с базой данных
    File: mysql.php
 
*/

if(!defined('MOZG'))
    die(
'Hacking attempt!');

class 
db{

    var 
$db_id false;
    var 
$query_num 0;
    var 
$query_list = array();
    var 
$mysql_error '';
    var 
$mysql_version '';
    var 
$mysql_error_num 0;
    var 
$mysql_extend "MySQLi";
    var 
$MySQL_time_taken 0;
    var 
$query_id false;

    
    function 
connect($db_user$db_pass$db_name$db_location 'localhost'$show_error=1){
        
$db_location explode(":"$db_location);

        if (isset(
$db_location[1])) {

            
$this->db_id = @mysqli_connect($db_location[0], $db_user$db_pass$db_name$db_location[1]);

        } else {

            
$this->db_id = @mysqli_connect($db_location[0], $db_user$db_pass$db_name);

        }

        if(!
$this->db_id) {
            if(
$show_error == 1) {
                
$this->display_error(mysqli_connect_error(), '1');
            } else {
                return 
false;
            }
        } 

        
$this->mysql_version mysqli_get_server_info($this->db_id);

        if(!
defined('COLLATE'))
        { 
            
define ("COLLATE""cp1251");
        }

        
mysqli_query($this->db_id"SET NAMES '" COLLATE "'");

        return 
true;
    }
    
    function 
query($query$show_error=true){
        
$time_before $this->get_real_time();

        if(!
$this->db_id$this->connect(DBUSERDBPASSDBNAMEDBHOST);
        
        if(!(
$this->query_id mysqli_query($this->db_id$query) )) {

            
$this->mysql_error mysqli_error($this->db_id);
            
$this->mysql_error_num mysqli_errno($this->db_id);

            if(
$show_error) {
                
$this->display_error($this->mysql_error$this->mysql_error_num$query);
            }
        }
            
        
$this->MySQL_time_taken += $this->get_real_time() - $time_before;
        
        
$this->query_num ++;

        return 
$this->query_id;
    }
    
    function 
get_row($query_id ''){
        if (
$query_id == ''$query_id $this->query_id;

        return 
mysqli_fetch_assoc($query_id);
    }

    function 
get_array($query_id ''){
        if (
$query_id == ''$query_id $this->query_id;

        return 
mysqli_fetch_array($query_id);
    }
    
    function 
super_query($query$multi false$cache_prefix false$system_cache false){
        
        
//Если включен кеш, то проверяем на его существование
        
if($cache_prefix){
        
            if(
$system_cache)
            
                
$data system_cache($cache_prefix);
                
            else
            
                
$data mozg_cache($cache_prefix);
            
        }
        
        
//Если есть ответ с кеша
        
if($data){
            
            
$unSerData unserialize($data);
            
            if(
$unSerData)
            
                return 
$unSerData;
                
            else
            
                return array();
            
        } else {

            if(!
$multi) {

                
$this->query($query);
                
$data $this->get_row();
                
$this->free();    

                
//Если включен кеш, то создаём его
                
if($cache_prefix){
                
                    
$cache_rows serialize($data);
                    
                    
mozg_create_cache($cache_prefix$cache_rows);
                    
                }
                
                return 
$data;
                
            } else {
                
$this->query($query);
                
                
$rows = array();
                while(
$row $this->get_row()) {
                    
$rows[] = $row;
                }

                
$this->free();            

                
//Если включен кеш, то создаём его
                
if($cache_prefix){
                
                    
$cache_rows serialize($rows);
                    
                    if(
$system_cache)
                    
                        
creat_system_cache($cache_prefix$cache_rows);
                        
                    else
                    
                        
mozg_create_cache($cache_prefix$cache_rows);
                }
                
                return 
$rows;

            }
        
        }
    }
    
    function 
num_rows($query_id ''){
        if (
$query_id == ''$query_id $this->query_id;

        return 
mysqli_num_rows($query_id);
    }
    
    function 
insert_id(){
        return 
mysqli_insert_id($this->db_id);
    }

    function 
get_result_fields($query_id '') {
        if (
$query_id == ''$query_id $this->query_id;

        while (
$field mysqli_fetch_field($query_id))
        {
            
$fields[] = $field;
        }
        
        return 
$fields;
       }

    function 
safesql$source ){
        if (
$this->db_id) return mysqli_real_escape_string ($this->db_id$source);
        else return 
mysql_escape_string($source);
    }

    function 
free$query_id '' ){

        if (
$query_id == ''$query_id $this->query_id;

        @
mysqli_free_result($query_id);
    }

    function 
close(){
        @
mysqli_close($this->db_id);
    }

    function 
get_real_time(){
        list(
$seconds$microSeconds) = explode(' 'microtime());
        return ((float)
$seconds + (float)$microSeconds);
    }    

    function 
display_error($error$error_num$query ''){
        if(
$query) {
            
// Safify query
            
$query preg_replace("/([0-9a-f]){32}/""********************************"$query); // Hides all hashes
            
$query_str "$query";
        }
        
        echo 
'<?xml version="1.0" encoding="iso-8859-1"?>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <title>Ошибка</title>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
        </head>
        <body>
            <font size="4">Ошибка сервера, попробуйте обновить страницу позже.</font> 
        </body>
        </html>'
;
        
        exit();
    }

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