CodeIgniter User Guide Version 2.0.0


Функции-помощники запросов

$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'

Примечание: Значения автоматически экранируются, создавая более безопасные запросы.