CodeIgniter ユーザガイド 日本語版 Version 2.0.3


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;