PHP 7.3.14 Released

ifx_fetch_row

(PHP 4, PHP 5 < 5.2.1)

ifx_fetch_row行を連想配列として取得する

説明

ifx_fetch_row ( resource $result_id [, mixed $position ] ) : array

結果 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,
                     
$connidIFX_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);
?>

add a note add a note

User Contributed Notes 1 note

up
1
rpuchalsky at att dot net
19 years ago
If you use a select statement that
identifies fields according to which
table they come from, i.e.

select tab1.name, tab2.phone from
tab1, tab2
where tab1.id = tab2.id

then the associative keys of the array returned by ifx_fetch_row will not include the table names.  For the example above, if you used

$row = ifx_fetch_row ($rid);

then the first field in the
returned array would be $row["name"],
not $row["tab1.name"] .
To Top