array ifx_fetch_row
(int result_id, mixed [position]
);取得された行に対応する連想配列または、行がもうない場合に FALSE を 返します。
BLOB カラムが、ifx_get_blob で使用するために 整数値 BLOB ID として返されます。 ただし、ifx_textasvarchar(1) または ifx_byteasvarchar(1) を指定している 場合を除きます。この場合、BLOB は、文字列として返されます。 エラーの場合、FALSE が返されます。
result_id は、 ifx_query または ifx_prepare (select 型のクエリーのみ!) により返された有効な結果 ID です。
[position] は、オプション パラメータで、"スクロール" カーソルで "取得" 操作を行うためのもので、 次のようになります。 "NEXT", "PREVIOUS", "CURRENT", "FIRST", "LAST" ,または番号。 番号を指定した場合、"絶対" 行の取得が行われます。このパラメータは、 オプションであり、スクロールカーソルの場合にのみ有効です。
ifx_fetch_row は、指定された結果 ID が関連する 結果から1行文のデータを取得します。 各結果カラムは、オフセット 0 から始まる配列オフセットに保存されます。
ifx_fetch_row を続けてコールした場合、結果セットの 次の行が返されるます。 行がもうない場合は、FALSE が返されます。
例 1. Informix 行の取得
$rid = ifx_prepare ("select * from emp where name like " . $name, $connid, IFX_SCROLL); if (! $rid) { ... error ... } $rowcount = ifx_affected_rows($rid); if ($rowcount > 1000) { printf ("Too many rows in result set (%d)\n<br>", $rowcount); die ("Please restrict your query<br>\n"); } if (! ifx_do ($rid)) { ... error ... } $row = ifx_fetch_row ($rid, "NEXT"); while (is_array($row)) { for(reset($row); $fieldname=key($row); next($row)) { $fieldvalue = $row[$fieldname]; printf ("%s = %s,", $fieldname, $fieldvalue); } printf("\n<br>"); $row = ifx_fetch_row ($rid, "NEXT"); } ifx_free_result ($rid);