ifx_prepare

ifx_prepare -- SQL 文を実行用に準備する

説明

int ifx_prepare(string query, int conn_id, int [cursor_def], mixed blobidarray);

ifx_do で使用するために 整数 result_id を返します。 ifx_affected_rows 関数による取得を可能にするために affected_rows をセットします。

接続 conn_id に関して query を準備します。 "select 型" クエリーの場合、カーソルが宣言され、オープンされます。 オプションの cursor_type パラメータにより、 そのカーソルを "スクロール" または "ホールド" カーソルとすることが できます。 このオプションはマスクであり、IFX_SCROLL, IFX_HOLD, または 両方とも指定することができます。 select でないクエリーは、"直ちに実行"されます。

どちらのタイプのクエリーにおいても、(予測または実際の数として) 作用された行の数は、ifx_affected_rows により 取得可能とするために保存されます。

もし、クエリーにおいて BLOB (BYTE または TEXT) カラムがある場合、 対応する "BLOB ID" を有する blobidarray パラメータを追加することが可能です。 この場合、クエリーテキストのこれらのカラムを "?" で置換することが必要です。

TEXT (または BYTE) カラムの内容が許すならば、 "ifx_textasvarchar(1)" または "ifx_byteasvarchar(1)" を使用することも 可能です。 これにより、TEXT (または BYTE) カラムは、select クエリーの 通常の(しかし長い)VARCHAR カラムと同様に処理され、 BLOB ID で悩むこともなくなります。

ifx_textasvarchar(0) または ifx_byteasvarchar(0) (デフォルト値) の場合、select クエリーは、BLOB ID (整数値) に属するものとして BLOB カラムを返します。 BLOB 関数により文字列またはファイルとして BLOB の値を得ることが可能です。

ifx_do も参照下さい。