Функции хелпера запросов
$this->db->insert_id()
Идентификатор последней вставки записи в базу данных.
$this->db->affected_rows()
Отображает количество записей, на которые повлиял запрос (при выполнении вставок или правок).
Замечание: в MySQL "DELETE FROM TABLE" возвращает 0 затронутых строк. В класс для работы с базами данных встроен небольшой модификатор, который позволяет возвращать правильное количество затронутых записей. По умолчанию этот модификатор доступен, но может быть выключен в файле драйвера к базе данных.$this->db->count_all();
Позволяет определять количество строк в конкретной таблице. Передавайте название таблицы в качестве первого параметра. Пример:
echo $this->db->count_all('my_table');
// Возвращает целое число, к примеру 25
$this->db->platform()
Выводит наименование платформы СУБД, с которой вы взаимодействуете (MySQL, MS SQL, Postgre, и т.д.):
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@your-site.com', 'www.your-site.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 exp_weblog SET name = 'Rick', email = 'rick@your-site.com', url = 'www.your-site.com' WHERE author_id = 1 AND status = 'active'
Замечание: Значения автоматически экранируются, создавая более безопасные запросы.