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

CodeIgniter User Guide Version 2.1.3


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

$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

Яндекс.Метрика