Вход Регистрация
Файл: model/MSQL.php
Строк: 44
<?php
//
// Помощник работы с БД
//
class MSQL{

    private static 
$instance;    // экземпляр класса

    //
    // Получение экземпляра класса
    // результат    - экземпляр класса MSQL
    //
    
public static function Instance()
    {
        if (
self::$instance == null)
            
self::$instance = new MSQL();
            
        return 
self::$instance;
    }
    
//
    // Выборка строк
    // $query        - полный текст SQL запроса
    // результат    - массив выбранных объектов
    //
    
public function Select($query)
    {
        
$result mysql_query($query);
                                
        if (!
$result)
            die(
mysql_error());
        
        
$n mysql_num_rows($result);
        
$arr = array();
    
        for(
$i 0$i $n$i++)
        {
            
$row mysql_fetch_assoc($result);        
            
$arr[] = $row;
        }

        return 
$arr;            
    }
    
    
//
    // Вставка строки
    // $table         - имя таблицы
    // $object         - ассоциативный массив с парами вида "имя столбца - значение"
    // результат    - идентификатор новой строки
    //
    
public function Insert($table$object)
    {            
        
$columns = array();
        
$values = array();
    
        foreach (
$object as $key => $value)
        {
            
$key mysql_real_escape_string($key '');
            
$columns[] = $key;
            
            if (
$value === null)
            {
                
$values[] = 'NULL';
            }
            else
            {
                
$value mysql_real_escape_string($value '');                            
                
$values[] = "'$value'";
            }
        }
        
        
$columns_s implode(','$columns);
        
$values_s implode(','$values);
            
        
$query "INSERT INTO $table ($columns_s) VALUES ($values_s)";
        
$result mysql_query($query);
                                
        if (!
$result)
            die(
mysql_error());
            
        return 
mysql_insert_id();
    }
    
    
//
    // Изменение строк
    // $table         - имя таблицы
    // $object         - ассоциативный массив с парами вида "имя столбца - значение"
    // $where        - условие (часть SQL запроса)
    // результат    - число измененных строк
    //    
    
public function Update($table$object$where)
    {
        
$sets = array();
    
        foreach (
$object as $key => $value)
        {
            
$key mysql_real_escape_string($key '');
            
            if (
$value === null)
            {
                
$sets[] = "$key=NULL";            
            }
            else
            {
                
$value mysql_real_escape_string($value '');                    
                
$sets[] = "$key='$value'";            
            }            
        }
        
        
$sets_s implode(','$sets);            
        
$query "UPDATE $table SET $sets_s WHERE $where";
        
$result mysql_query($query);
        
        if (!
$result)
            die(
mysql_error());

        return 
mysql_affected_rows();    
    }
    
    
//
    // Удаление строк
    // $table         - имя таблицы
    // $where        - условие (часть SQL запроса)    
    // результат    - число удаленных строк
    //        
    
public function Delete($table$where)
    {
        
$query "DELETE FROM $table WHERE $where";        
        
$result mysql_query($query);
                        
        if (!
$result)
            die(
mysql_error());

        return 
mysql_affected_rows();    
    }
}
Онлайн: 2
Реклама