Методы помощники запросов
Информация из выполнения запроса
$this->db->insert_id()
Номер идентификатора вставки при выполнении вставок в базу данных.
Примечание
При использовании драйвера PDO с PostgreSQL или драйвера Interbase эта функция требует параметр $name, который указывает соответствующую последовательность для проверки идентификатора вставки.
$this->db->affected_rows()
Отображает количество затронутых строк при выполнении запросов типа «запись» (вставка, обновление и т. д.).
Примечание
В MySQL «DELETE FROM TABLE» возвращает 0 затронутых строк. В классе базы данных есть небольшая уловка, которая позволяет возвращать правильное количество затронутых строк. По умолчанию эта уловка включена, но её можно отключить в файле драйвера базы данных.
$this->db->last_query()
Возвращает последний запрос, который был выполнен (строку запроса, а не результат). Пример:
$str = $this->db->last_query(); // Produces: SELECT * FROM sometable....
Примечание
Отключение параметра save_queries в вашей конфигурации базы данных сделает эту функцию бесполезной.
Информация о вашей базе данных
$this->db->count_all()
Позволяет определить количество строк в определенной таблице. Передайте имя таблицы в первом параметре. Пример:
echo $this->db->count_all('my_table');
// Produces an integer, like 25
$this->db->platform()
Выводит платформу базы данных, на которой вы работаете (MySQL, MS SQL, Postgres и т. д.):
echo $this->db->platform();
$this->db->version()
Выводит версию базы данных, на которой вы работаете:
echo $this->db->version();
Упрощение ваших запросов
$this->db->insert_string()
Эта функция упрощает процесс записи запросов на вставку в базу данных. Она возвращает правильно отформатированную строку SQL вставки. Пример:
$data = array('name' => $name, 'email' => $email, 'url' => $url);
$str = $this->db->insert_string('table_name', $data);
Первый параметр — имя таблицы, второй — ассоциативный массив с данными для вставки. Вышеприведенный пример генерирует:
INSERT INTO table_name (name, email, url) VALUES ('Rick', 'rick@example.com', 'example.com')
Примечание
Значения автоматически экранируются, что обеспечивает более безопасные запросы.
$this->db->update_string()
Эта функция упрощает процесс записи запросов на обновление в базе данных. Она возвращает правильно отформатированную строку SQL обновления. Пример:
$data = array('name' => $name, 'email' => $email, 'url' => $url);
$where = "author_id = 1 AND status = 'active'";
$str = $this->db->update_string('table_name', $data, $where);
Первый параметр — имя таблицы, второй — ассоциативный массив с данными для обновления, а третий параметр — условие «where». Вышеприведенный пример генерирует:
UPDATE table_name SET name = 'Rick', email = 'rick@example.com', url = 'example.com' WHERE author_id = 1 AND status = 'active'
Примечание
Значения автоматически экранируются, что обеспечивает более безопасные запросы.
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/database/helpers.html