DB

Описание

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

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

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

Методы класса
string buildPartQuery() Строит часть запроса, из полученного ассоциативного массива.
obj|bool buildQuery() Аналогичен методу buildPartQuery, но используется для целого запроса.
void console() Выводит консоль запросов и ошибок.
array fetchArray() Возвращает запись в виде массива.
array fetchAssoc() Возвращает ряд результата запроса в качестве ассоциативного массива.
obj fetchObject() Возвращает запись в виде объекта.
obj getInstance() Возвращает единственный экземпляр данного класса.
void init() Инициализирует единственный объект данного класса, устанавливает кодировку БД utf8.
int insertId() Возвращает сгенерированный колонкой с AUTO_INCREMENT последним запросом INSERT к серверу.
string lastQuery() Выводит последний выполненный SQL запрос.
int numRows() Возвращает количество рядов результата запроса.
obj|bool query() Выполняет запрос к БД.
void quote() Экранирует кавычки для части запроса.
void quoteInt() Экранирует кавычки для части запроса и преобразует экранируемую часть запроса в тип integer
Описание методов и примеры их использования
public static string buildPartQuery (array $array, [string $devide = ','])
  • array $array: ассоциативный массив полей с данными.
  • string $devide: разделитель.

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

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

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

public static obj|bool buildQuery (string $query, array $array, [string $devide = ','])
  • array $array: ассоциативный массив.
  • string $devide: разделитель
  • string $query: SQL запрос.

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

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

public static void console ([srting $text = ''])
  • srting $text: - данные лога.

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

public static obj|bool query (srting $sql)
  • srting $sql: запрос.( Может содержать дополнительные аргументы.)

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

public static void quote (srting $string, [srting $noQuote = false])
  • srting $noQuote: - если true, то не будет выводить кавычки вокруг строки.
  • srting $string: часть запроса.

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

public static void quoteInt (srting $string, [srting $noQuote = false])
  • srting $noQuote: - если true, то не будет выводить кавычки вокруг строки.
  • srting $string: часть запроса.

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