Вызов произвольных функций
$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;