Вызов пользовательских функций
$this->db->call_function();
Эта функция позволяет вам вызвать функции PHP для БД, которые изначально не включены в CodeIgniter, так как не являются платформонезависимыми. К примеру, давайте предположим, что вы хотите использовать функцию mysql_get_client_info(), которая изначально не поддерживается в CodeIgniter. Вы сделаете что-то вроде следующего:
$this->db->call_function('get_client_info');
Вы должны предоставить имя функции, без префикса mysql_ в первом параметре. Префикс добавляется автоматически, в зависимости от того, какой драйвер БД используется в данный момент. Это позволяет вам запускать одинаковые функции в различных платформах БД. Очевидно, что не все вызовы функций идентичны между различными платформами, поэтому есть ограничение в портативности и в полезности этого метода.
Любые параметры, требуемые функции, вы можете добавить во вторую, третью и последующие позиции.
$this->db->call_function('some_function', $param1, $param2, etc..);
Часто вам будет нужно иметь идентификаторы соединения (connection ID) или результата (database result ID). Идентификатор соединения можно получить, используя:
$this->db->conn_id;
Идентификатор результата можно получить используя объект результата, вот так:
$query = $this->db->query("SOME QUERY");
$query->result_id;