Справочник по драйверу БД
Это базовый класс реализации платформенно-независимой БД. Этот класс не будет вызываться напрямую. Вместо этого, адаптер класса для конкретной базы данных будет его расширять и создавать экземпляр.
Материалы по использованию разделены на несколько статей. Эта статья предназначена для их справки.
Важно
Не все методы поддерживаются всеми драйверами баз данных, некоторые из них могут завершиться неудачно (и вернуть FALSE), если базовый драйвер их не поддерживает.
-
class CI_DB_driver -
-
initialize() -
Возвращает: TRUE при успехе, FALSE при ошибке Тип возвращаемого значения: bool Инициализирует настройки базы данных, устанавливает соединение с базой данных.
-
db_connect($persistent = TRUE) -
Параметры: - $persistent (bool) – Указывает, нужно ли установить постоянное соединение или обычное
Возвращает: Ресурс/объект подключения к базе данных или FALSE при ошибке
Тип возвращаемого значения: mixed
Устанавливает соединение с базой данных.
Примечание
Возвращаемое значение зависит от используемого драйвера. Например, с драйвером ‘mysqli’ будет возвращён объект
mysqli.
-
db_pconnect() -
Возвращает: Ресурс/объект подключения к базе данных или FALSE при ошибке Тип возвращаемого значения: mixed Устанавливает постоянное соединение с базой данных.
Примечание
Этот метод является псевдонимом для
db_connect(TRUE).
-
reconnect() -
Возвращает: TRUE при успехе, FALSE при ошибке Тип возвращаемого значения: bool Поддерживает/восстанавливает соединение с базой данных, если запрос не отправлялся в течение времени, превышающего таймаут бездействия сервера.
-
db_select([$database = '']) -
Параметры: - $database (string) – Имя базы данных
Возвращает: TRUE при успехе, FALSE при ошибке
Тип возвращаемого значения: bool
Выбрать/переключиться на текущую базу данных.
-
db_set_charset($charset) -
Параметры: - $charset (string) – Название набора символов
Возвращает: TRUE при успехе, FALSE при ошибке
Тип возвращаемого значения: bool
Установить набор символов клиента.
-
platform() -
Возвращает: Имя платформы Тип возвращаемого значения: string Название используемой платформы (mysql, mssql и т.д.).
-
version() -
Возвращает: Версия используемой базы данных Тип возвращаемого значения: string Номер версии базы данных.
-
query($sql[, $binds = FALSE[, $return_object = NULL]]) -
Параметры: - $sql (string) – SQL-запрос для выполнения
- $binds (array) – Массив данных для привязки
- $return_object (bool) – Возвращать объект результата или нет
Возвращает: TRUE для успешных запросов типа «запись», экземпляр CI_DB_result (цепочка методов) при успехе запроса, FALSE при ошибке
Тип возвращаемого значения: mixed
Выполнить SQL-запрос.
Принимает SQL-строку в качестве входных данных и возвращает объект результата при успешном выполнении запроса типа «чтение».
Возвращает:
- Логическое значение TRUE при успешном выполнении запросов типа «запись»
- Логическое значение FALSE при ошибке
-
CI_DB_resultобъект для запросов типа «чтение»
-
simple_query($sql) -
Параметры: - $sql (string) – SQL-запрос для выполнения
Возвращает: То, что возвращает функция «запрос» базового драйвера
Тип возвращаемого значения: mixed
Упрощённая версия метода
query(), подходящая для использования, когда вам не нужно получать объект результата или просто нужно отправить запрос в базу данных, не заботясь о результате.
-
affected_rows() -
Возвращает: Количество изменённых строк Тип возвращаемого значения: int Возвращает количество строк, изменённых последним выполненным запросом.
Полезно для проверки того, сколько строк было создано, обновлено или удалено во время последнего выполненного запроса.
-
trans_strict([$mode = TRUE]) -
Параметры: - $mode (bool) – Флаг режима «строгости»
Тип возвращаемого значения: void
Включить/выключить режим «строгой» транзакции.
Когда режим строгости включён, если вы выполняете несколько групп транзакций и одна группа терпит неудачу, все последующие группы будут отменены.
Если режим строгости выключен, каждая группа обрабатывается автономно, а значит, неудача одной группы не повлияет на другие.
-
trans_off() -
Тип возвращаемого значения: void Отключает транзакции во время выполнения.
-
trans_start([$test_mode = FALSE]) -
Параметры: - $test_mode (bool) – Флаг режима тестирования
Возвращает: TRUE при успехе, FALSE при ошибке
Тип возвращаемого значения: bool
Начать транзакцию.
-
trans_complete() -
Возвращает: TRUE при успехе, FALSE при ошибке Тип возвращаемого значения: bool Завершить транзакцию.
-
trans_status() -
Возвращает: TRUE, если транзакция прошла успешно, FALSE, если она завершилась неудачно Тип возвращаемого значения: bool Позволяет получить флаг состояния транзакции, чтобы определить, завершилась ли она неудачно.
-
compile_binds($sql, $binds) -
Параметры: - $sql (string) – SQL-запрос
- $binds (array) – Массив данных для привязки
Возвращает: Обновлённый SQL-запрос
Тип возвращаемого значения: string
Компилирует SQL-запрос с переданными значениями привязки.
-
-
is_write_type($sql) -
Параметры: - $sql (string) – SQL-запрос
Возвращает: Истина, если SQL-запрос относится к типу «запись», ложь — если нет
Тип возвращаемого значения: bool
Определяет, является ли запрос типом «записи» (например, INSERT, UPDATE, DELETE) или «чтения» (например, SELECT).
-
elapsed_time([$decimals = 6]) -
Параметры: - $decimals (int) – Количество знаков после запятой
Возвращает: Общее время выполнения запроса в микросекундах
Тип возвращаемого значения: string
Вычисляет общее время выполнения запроса.
-
total_queries() -
Возвращает: Общее количество выполненных запросов Тип возвращаемого значения: int Возвращает общее количество запросов, выполненных до сих пор.
-
last_query() -
Возвращает: Последний выполненный запрос Тип возвращаемого значения: string Возвращает последний выполненный запрос.
-
escape($str) -
Параметры: - $str (mixed) – Значение для экранирования или массив значений
Возвращает: Экранированное значение(я)
Тип возвращаемого значения: mixed
Экранирует входные данные в зависимости от типа, включая значения boolean и NULL.
-
escape_str($str[, $like = FALSE]) -
Параметры: - $str (mixed) – Строковое значение или массив значений
- $like (bool) – Истина, если строка будет использоваться в условии LIKE
Возвращает: Экранированная строка(и)
Тип возвращаемого значения: mixed
Экранирует строковые значения.
Предупреждение
Возвращаемые строки НЕ содержат кавычки.
-
escape_like_str($str) -
Параметры: - $str (mixed) – Строковое значение или массив значений
Возвращает: Экранированная строка(и)
Тип возвращаемого значения: mixed
Экранирование строк для условия LIKE.
Аналогично
escape_str(), но также экранирует символы-маркеры%и_, чтобы они не приводили к ложным срабатываниям в условиях LIKE.Важно
Метод
escape_like_str()использует ‘!’ (восклицательный знак) для экранирования специальных символов в условиях LIKE. Поскольку этот метод экранирует части строк, которые вы сами обернёте в кавычки, он не может автоматически добавить условиеESCAPE '!', поэтому вам придётся сделать это вручную.
-
primary($table) -
Параметры: - $table (string) – Название таблицы
Возвращает: Имя первичного ключа, ложь, если ключ отсутствует
Тип возвращаемого значения: string
Возвращает имя первичного ключа таблицы.
Примечание
Если платформа базы данных не поддерживает обнаружение первичного ключа, может быть предположено, что первым столбцом является первичный ключ.
-
count_all([$table = '']) -
Параметры: - $table (string) – Название таблицы
Возвращает: Количество строк в указанной таблице
Тип возвращаемого значения: int
Возвращает общее количество строк в таблице, или 0, если таблица не указана.
-
list_tables([$constrain_by_prefix = FALSE]) -
Параметры: - $constrain_by_prefix (bool) – Истина, если следует сопоставлять имена таблиц с заданным префиксом базы данных
Возвращает: Массив имён таблиц или ложь при ошибке
Тип возвращаемого значения: array
Получает список таблиц в текущей базе данных.
-
table_exists($table_name) -
Параметры: - $table_name (string) – Название таблицы
Возвращает: Истина, если таблица существует, ложь — если нет
Тип возвращаемого значения: bool
Определяет, существует ли конкретная таблица.
-
list_fields($table) -
Параметры: - $table (string) – Название таблицы
Возвращает: Массив имён полей или ложь при ошибке
Тип возвращаемого значения: array
Получает список имён полей в таблице.
-
field_exists($field_name, $table_name) -
Параметры: - $table_name (string) – Название таблицы
- $field_name (string) – Название поля
Возвращает: Истина, если поле существует в таблице, ложь — если нет
Тип возвращаемого значения: bool
Определяет, существует ли конкретное поле.
-
field_data($table) -
Параметры: - $table (string) – Название таблицы
Возвращает: Массив данных о полях таблицы или ложь при ошибке
Тип возвращаемого значения: array
Возвращает список данных о полях таблицы.
-
escape_identifiers($item) -
Параметры: - $item (mixed) – Элемент или массив элементов для экранирования
Возвращает: Экранированный элемент(ы)
Тип возвращаемого значения: mixed
Экранирует идентификаторы SQL, такие как имена столбцов, таблиц и т. д.
-
-
insert_string($table, $data) -
Параметры: - $table (string) – Целевая таблица
- $data (array) – Ассоциативный массив пар ключ/значение
Возвращаемое значение: Строка SQL-запроса INSERT
Тип возвращаемого значения: string
Генерирует строку запроса INSERT.
-
update_string($table, $data, $where) -
Параметры: - $table (string) – Целевая таблица
- $data (array) – Ассоциативный массив пар ключ/значение
- $where (mixed) – Условия WHERE-запроса
Возвращаемое значение: Строка SQL-запроса UPDATE
Тип возвращаемого значения: string
Генерирует строку запроса UPDATE.
-
call_function($function) -
Параметры: - $function (string) – Имя функции
Возвращаемое значение: Результат выполнения функции
Тип возвращаемого значения: string
Выполняет системную PHP функцию, используя платформенно-независимый обёртку.
-
cache_set_path([$path = '']) -
Параметры: - $path (string) – Путь к каталогу кеша
Тип возвращаемого значения: void
Устанавливает путь к каталогу для хранения кеша.
-
cache_on() -
Возвращаемое значение: TRUE, если кеширование включено, FALSE - если нет Тип возвращаемого значения: bool Включает кеширование результатов базы данных.
-
cache_off() -
Возвращаемое значение: TRUE, если кеширование включено, FALSE - если нет Тип возвращаемого значения: bool Отключает кеширование результатов базы данных.
-
cache_delete([$segment_one = ''[, $segment_two = '']]) -
Параметры: - $segment_one (string) – Первый сегмент URI
- $segment_two (string) – Второй сегмент URI
Возвращаемое значение: TRUE при успехе, FALSE при ошибке
Тип возвращаемого значения: bool
Удаляет файлы кеша, связанные с конкретным URI.
-
cache_delete_all() -
Возвращаемое значение: TRUE при успехе, FALSE при ошибке Тип возвращаемого значения: bool Удаляет все файлы кеша.
-
close() -
Тип возвращаемого значения: void Закрывает подключение к БД.
-
display_error([$error = ''[, $swap = ''[, $native = FALSE]]]) -
Параметры: - $error (string) – Сообщение об ошибке
- $swap (string) – Любые значения «переменной подстановки»
- $native (bool) – Локализовать ли сообщение
Тип возвращаемого значения: void
Возвращаемое значение: Отображает экран ошибки БД. Выводит шаблон application/views/errors/error_db.php
Тип возвращаемого значения: string
Отображает сообщение об ошибке и останавливает выполнение скрипта.
Сообщение отображается с помощью шаблона application/views/errors/error_db.php.
-
protect_identifiers($item[, $prefix_single = FALSE[, $protect_identifiers = NULL[, $field_exists = TRUE]]]) -
Параметры: - $item (string) – Элемент для обработки
- $prefix_single (bool) – Добавлять dbprefix, даже если входной элемент — одиночное имя идентификатора
- $protect_identifiers (bool) – Цитировать ли идентификаторы
- $field_exists (bool) – Элемент содержит имя поля или нет
Возвращаемое значение: Изменённый элемент
Тип возвращаемого значения: string
Принимает имя столбца или таблицы (опционально с алиасом) и применяет к нему конфигурируемый dbprefix.
Необходима некоторая логика для обработки имён столбцов, включающих путь.
Рассмотрим такой запрос:
SELECT * FROM hostname.database.table.column AS c FROM hostname.database.table
Или запрос с алиасами:
SELECT m.member_id, m.member_name FROM members AS m
Поскольку имя столбца может содержать до четырёх сегментов (хост, база данных, таблица, столбец) или также иметь префикс алиаса, нам нужно выполнить некоторую работу, чтобы разобраться в этом и вставить префикс таблицы (если он существует) в правильное положение и экранировать только правильные идентификаторы.
Этот метод широко используется классом Query Builder.
-
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/database/db_driver_reference.html