Функции-помощники запросов
$this->db->insert_id()
Возвращает insert ID (значение поля primary key, присвоенное последней добавленной строке).
$this->db->affected_rows()
Возвращает количество строк, задействованных в "пишущем" запросе (insert, update и т.п.)
Примечание: в MySQL "DELETE FROM TABLE" вернет 0 задействованных строк. Класс базы данных имеет небольшой хак, который позволяет возвращать корректное число задействованных строк. По умолчанию этот хак включен, и может быть выключен в файле драйвера базы данных.
$this->db->count_all();
Позволяет вам определить количество строк в конкретной таблице. Передайте имя таблицы первым параметром. Пример:
echo $this->db->count_all('my_table');
// Вернет integer, например 25
$this->db->platform()
Возвращает название используемой платформы (MySQL, MS SQL, Postgres и так далее):
echo $this->db->platform();
$this->db->version()
Возвращает версию используемой базы данных:
echo $this->db->version();
$this->db->last_query();
Возвращает последний запрос, который только что был выполнен (строку запроса, а не результат). Пример:
$str = $this->db->last_query();
// Выполняет: SELECT * FROM sometable....
Следующие две функции помогают упростить процесс записи INSERT (вставок) и UPDATE (обновлений).
$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();
Эта функция упрощает процесс записи обновлений (update). Она возвращает корректно отформатированную строку запроса 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'
Примечание: Значения автоматически экранируются, создавая более безопасные запросы.