CodeIgniter, руководство пользователя к версии 1.6.1


Вызов произвольных функций

$this->db->call_function();

Данная функция позволяет вызывать отсутствующие в CodeIgniter функции PHP для работы с базой данных, соблюдая платформонезависимый стиль. К примеру, вам нужно вызвать функцию mysql_get_client_info(), которая не поддерживается фреймворком CodeIgniter. Для этого выполняем:

$this->db->call_function('get_client_info');

Вам необходимо передать имя функции, без префикса mysql_ в первом параметре. Префикс добавляется автоматически, на основе того драйвера, который в данный момент используется. Такой подход позволяет задействовать одни и те же функции на разных СУБД. Конечно, не все функции для разных платформ называются в одинаковом стиле, поэтому данный способ не обеспечивает полноценной кроссплатформенности.

Любые параметры, необходимые для выполнения вызываемой функции передаются как второй и последующие параметры.

$this->db->call_function('some_function', $param1, $param2...);

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

$this->db->conn_id;

В свою очередь, ID результата выборки можно получить, используя объект результатов. К примеру:

$query = $this->db->query("Ваш запрос");

$query->result_id;