(PHP 4, PHP <=5.2.0)
ifx_fetch_row — 行を連想配列として取得する
結果 ID で指定した結果に対応するデータのひとつの行を取得します。
ifx_fetch_row() を続けてコールした場合、結果セットの
次の行が返されるます。
行がもうない場合は、FALSE
が返されます。
result_id
ifx_query() または ifx_prepare() (select 型のクエリのみ!) により返された有効な結果 ID です。
position
オプションのパラメータで、"スクロール" カーソルで "取得" 操作を行うためのものです。 NEXT, PREVIOUS, CURRENT, FIRST, LAST あるいは番号を指定します。 番号を指定した場合、"絶対" 行の取得が行われます。このパラメータは オプションであり、SCROLL カーソルの場合にのみ有効です。
取得された行に対応する連想配列を返します。行がもうない場合には
FALSE
を返します。
BLOB カラムは、ifx_get_blob() で使用するために
整数値 BLOB ID として返されます。ただし、ifx_textasvarchar(1)
または ifx_byteasvarchar(1) を指定している場合を除きます。この場合、
BLOB は文字列として返されます。エラーの場合は 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);
?>