<?php
/**
 * Интерфейс для работы с СУБД SQL. Описывает стандартные функции для
 * работы с базой данных.
 * *
 * (c) Дмитрий Куринский, 2006.
 * Пространство имён: xmlns:mr=http://www.mirari.ru
 */
    
interface i_mr_sqldb{

/**
 * Методы возвращения результата из массива
 * assoc: ассоциативный массив
 * obj: объект с аттрибутами-полями строки запроса
 * num: массив с числовыми ключами
 * get: вернуть значение первого поля первой строки запроса
 */
 
const assoc 1;
 const 
obj 2;
 const 
num 3;
 const 
get 4;

/**
 * Производит стандартный запрос к СУБД. $q -- текст строки запроса
 */
 
static public function query($q);

/**
 * Количество запросов к БД за эту сессию. Используется при оптимизации
 * скорости работы сайта
 */
 
static public function queries();

/**
 * Время, потраченное на запросы к СУБД. Используется при оптимизации
 * скорости работы сайта
 */
 
static public function time();

/**
 * Возвращает строку или поле из результата или sql-строки
 * $arg: результат SQL-запроса или строка нового запроса
 * $mode: константа режима вывода, одна из описанных выше
 */
 
static public function fetch($arg$mode=self::assoc);

/**
 * Возвращает последнее сообщение об ошибке, сгенерированное СУБД
 */
 
static public function error();

/**
 * Возвращает количество строк, затронутых последним запросом
 */
 
static public function affected_rows();

/**
 * Возвращает последний id, сгенерированный базой данных при вставке строки
 */
 
static public function insert_id();

/**
 * Возвращает количество строк, возвращённых в результате SQL-запроса.
 * Параметр -- ресурс результата SQL-запроса.
 */
 
static public function num_rows($r);

/**
 * Возвращает состояние соединения с СУБД. true -- если соединение осуществлено,
 * иначе false.
 */
 
static public function connected();
    }
?>