ifx_fetch_row

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

ifx_fetch_row -- 配列として行を得る

説明

array ifx_fetch_row ( resource 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" ,または番号を指定します。 番号を指定した場合、"絶対" 行の取得が行われます。このパラメータは オプションであり、SCROLL カーソルの場合にのみ有効です。

ifx_fetch_row() は、指定された結果 ID に関連する 結果から 1 行分のデータを取得します。行データは配列として返されます。 各結果カラムは、オフセット 0 から始まる配列オフセットに保存されます。 カラム名がキーとなります。

ifx_fetch_row() を続けてコールした場合、結果セットの 次の行が返されるます。 行がもうない場合は、FALSE が返されます。

例 1. Informix 行の取得

<?php
$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);
?>