Вход Регистрация
Файл: boot/db/mysql.db.php
Строк: 59
<?php

/**
* @name        JMY CMS
* @link        http://jmy.su/
* @copyright   Copyright (C) 2012-2014 JMY LTD
* @license     LICENSE.txt (see attached file)
* @version     VERSION.txt (see attached file)
* @author      Komarov Ivan
*/


class controlDB
{
    public 
$resource false;
    public 
$timeQuery 0;
    public 
$timeQueries 0;
    public 
$numQueries 0;
    public 
$listQueries = array();
    
    public function 
connect($dbhost$dbuser$dbpass$dbname$dbpersist false)
    {
        if(
$dbpersist)
        {
            
$this->resource mysql_pconnect($dbhost$dbuser$dbpass);
        }
        else
        {
            
$this->resource mysql_connect($dbhost$dbuser$dbpass);
        }
        
        @
mysql_query('SET NAMES utf8');
        if (
$this->resource
        {
            if (!
mysql_select_db($dbname)) 
            {
                if(
file_exists('install.php')) if(!file_exists('install/lock.install')) { Header('Location: /install.php'); }
                
mysqlFatalError('Ошибка в базе данных MySQL''База данных ' $dbname ' не найдена''');
                
            }
        } 
        else 
        {
            if(
file_exists('install.php')) if(!file_exists('install/lock.install')) { Header('Location: /install.php'); }
            
mysqlFatalError('Ошибка в базе данных MySQL''Нет подключения к ' $dbhost'');
        }
    }
    
    function 
safesql($str)
    {
        return 
mysql_real_escape_string($str$this->resource);
    }
    
    public function 
doQuery($str$ignoreError$prefix)
    {
        
$timer microtime(1);
        
        if(
$ignoreError)
        {
            
$result mysql_query($str$this->resource) or writeInLog('[Ошибка в базе данных] - запрос: ' .  str_replace($prefix''$str), 'db_query');
        }
        else
        {
            
$result mysql_query($str$this->resource) or mysqlFatalError('Ошибка выполнения запроса в DB'"Не удалось выполнить запрос '" str_replace($prefix''$str) . "' <br />Ответ с сервера: " str_replace($prefix''mysql_error()), str_replace($prefix''$str));
        }
        
        
$this->timeQuery += microtime(1) - $timer;
        
$this->timeQueries += $this->timeQuery;
        
$this->numQueries++;

        if(
DEBUG$this->listQueries[$this->numQueries] = array($str$this->timeQuery);

        return 
$result;
    }
    
    public function 
freeResult($resource)
    {
        if (
is_resource($resource)) 
        {
            return 
mysql_free_result($resource);
        } 
        else 
        {
            return 
false;
        }
    }
    
    public function 
getRow($resource)
    {
        if (
is_resource($resource)) 
        {
            return @
mysql_fetch_assoc($resource);
        } 
        else 
        {
            return 
false;
        }
    }    
    
    public function 
fetchRow($resource)
    {
        if (
is_resource($resource)) 
        {
            return @
mysql_fetch_array($resource);
        } 
        else 
        {
            return 
false;
        }
    }    
    
    public function 
numRows($resource)
    {
        if (
is_resource($resource)) 
        {
            return 
mysql_num_rows($resource);
        } 
        else 
        {
            return 
false;
        }
    }
}
Онлайн: 0
Реклама