Получите помощь, поддержку и профессиональное общение в Клубе CodeIgniter

# CodeIgniter User Guide Version 2.1.0

Search User Guide

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

## $this->db->insert_id()

Вернет insert ID — номер последней добавленной записи.

## $this->db->affected_rows()

Вернет количество строк, задействованных в последнем «пишушем» запросе (insert, update и так далее).

Примечание: В MySQL "DELETE FROM TABLE" вернет 0 задействованных строк. Класс БД CodeIgniter имеет небольшой хак, который позволяет ему возвращать корректное количество. По умолчанию этот хак включен, но он может быть выключен в файле драйвера БД.

## $this->db->count_all();

Позволяет вам определить количество строк в конкретной таблице. Передайте имя таблицы в первом параметре. Например:

`echo $this->db->count_all('my_table');
// Вернет целое, например 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();

Эта функция упрощает процесс записи вставок (INSERT). Она возвращает корректно форматированную строку 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'`

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

### Поделиться

Переведено в компании Аринт.

# Спасибо!

Вы тоже можете оказать помощь проекту! Как это сделать?

## Помощь и поддержка

Вы можете задать вопросы и получить ответы и советы от гуру CodeIgniter и веб-разработки: вступайте в Клуб CodeIgniter