Docs For Class DB

DB

Описание

Класс DB - предназначен для работы с базой данных.

Доступен из любой точки программы. Реализован в виде синглтона, что исключает его дублирование. Все запросы выполняемые в коде движка должны обязательно проходить через метод DB::query() данного класса, а параметры запроса экранироваться методом DB::quote();

  • Создает соединение с БД средствами mysqli;
  • Защищает базу от SQL инъекций;
  • Ведет логирование запросов если установленна данная опция;

Методы класса
int affectedRows() Получает число строк, затронутых предыдущей операцией MySQL.
string buildPartQuery() Строит часть запроса, из полученного ассоциативного массива.
obj|bool buildQuery() Аналогичен методу buildPartQuery, но используется для целого запроса.
void close() Закрывает соединение с БД.
string console() Выводит консоль запросов и ошибок.
void createIndexIfNotExist() Функция для создания индекосов в таблицах с проверкой на их существование.
array fetchArray() Возвращает запись в виде массива.
array fetchAssoc() Возвращает ряд результата запроса в качестве ассоциативного массива.
obj fetchObject() Возвращает запись в виде объекта.
obj fetchRow() Get a result row as an enumerated array.
obj getInstance() Возвращает единственный экземпляр данного класса.
void init() Инициализирует единственный объект данного класса, устанавливает кодировку БД utf8.
int insertId() Возвращает сгенерированный колонкой с AUTO_INCREMENT последним запросом INSERT к серверу.
string lastQuery() Выводит последний выполненный SQL запрос.
int numRows() Возвращает количество рядов результата запроса.
obj|bool query() Выполняет запрос к БД.
string quote() Экранирует кавычки для части запроса.
int quoteFl() Экранирует кавычки для части запроса, заменяет запятую на точку и преобразует экранируемую часть запроса в тип float
string quoteIN() Экранирует кавычки для части запроса и преобразует экранируемую часть запроса в пригодный вид для условий типа IN
int quoteInt() Экранирует кавычки для части запроса и преобразует экранируемую часть запроса в тип integer
Описание методов и примеры их использования

Метод

string buildPartQuery (array $array, [string $devide = ','])

Параметры

  • $array: ассоциативный массив полей с данными.
  • $devide: разделитель.

Описание

Строит часть запроса, из полученного ассоциативного массива.

Обычно используется для оператора SET. Пример:

Пример использования

  1.  $array (
  2.    'login' => 'admin',
  3.    'pass' => '1',
  4.  );
  5.  // преобразует массив в строку: "'login' = 'admin', 'pass' = '1'"
  6.  DB::buildPartQuery($array);

Метод

obj|bool buildQuery (string $query, array $array, [string $devide = ','])

Параметры

  • $array: ассоциативный массив.
  • $devide: разделитель
  • $query: SQL запрос.

Описание

Аналогичен методу buildPartQuery, но используется для целого запроса.

Как правило для WHERE.

Метод

string console ([srting $text = ''])

Параметры

  • $text: - данные лога.

Описание

Выводит консоль запросов и ошибок.

Метод

void createIndexIfNotExist (string $table, string $index)

Параметры

  • $table: целевая таблица
  • $index: столбец для индекса

Описание

Функция для создания индекосов в таблицах с проверкой на их существование.

Метод

obj|bool query (srting $sql, [bool $noError = false])

Параметры

  • $sql: запрос.( Может содержать дополнительные аргументы.)
  • $noError: не выводить SQL ошибку

Описание

Выполняет запрос к БД.

Метод

string quote (srting $string, [srting $noQuote = false])

Параметры

  • $string: часть запроса.
  • $noQuote: - если true, то не будет выводить кавычки вокруг строки.

Описание

Экранирует кавычки для части запроса.

Метод

int quoteFl (srting $string, [srting $noQuote = false])

Параметры

  • $string: часть запроса.
  • $noQuote: - если true, то не будет выводить кавычки вокруг строки.

Описание

Экранирует кавычки для части запроса, заменяет запятую на точку и преобразует экранируемую часть запроса в тип float

Метод

string quoteIN (srting $string)

Параметры

  • $string: часть запроса.

Описание

Экранирует кавычки для части запроса и преобразует экранируемую часть запроса в пригодный вид для условий типа IN

Метод

int quoteInt (srting $string, [srting $noQuote = false])

Параметры

  • $string: часть запроса.
  • $noQuote: - если true, то не будет выводить кавычки вокруг строки.

Описание

Экранирует кавычки для части запроса и преобразует экранируемую часть запроса в тип integer