カスタム関数呼び出し

$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;