カスタム関数呼び出し¶
$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;