PHP ネイティブ関数の呼び出し
$this->db->call_function();
このメソッドを使えば、プラットフォームに依存しないという設計思想のために CodeIgniter でネイティブにサポートされていない PHP のデータベース関数を呼び出すのが可能になります。 たとえば、CodeIgniter でネイティブにサポートされていない mysql_get_client_info() 関数を呼び出したいとしたら、 次のようにして呼び出すことができます:
$this->db->call_function('get_client_info');
第1引数で、プリフィックスの mysql_ を付けずに、関数名を渡す必要があります。プリフィックスは、 利用中のデータベースドライバに応じて自動で付加されます。こうすることで、異なるデータベースプラットフォームであっても同じ名前で実行できるようになります。 言うまでもなく、すべての関数の呼出しがプラットフォーム間で一致するわけではありませんので、このメソッドが移植性にどれほど役立つかは限られています。
呼び出そうとする関数において必要なパラメータは、第2引数で指定することができます。
$this->db->call_function('some_function', $param1, $param2, etc..);
データベースの接続ID や データベースの結果IDを渡すのが必要になる時がよくあります。接続IDは次のようにしてアクセスできます:
$this->db->conn_id;
次のようにして、結果オブジェクトで、結果IDにアクセスできます:
$query = $this->db->query("SOME QUERY");
$query->result_id;