©
This document uses PHP Chinese website manual Release
(PHP 4, PHP <=5.2.0)
ifx_fetch_row — Get row as an associative array
$result_id
[, mixed $position
] )Fetches one row of data from the result associated with the specified result identifier.
Subsequent calls to ifx_fetch_row() would return the
next row in the result set, or FALSE
if there are no more rows.
result_id
result_id
is a valid resultid returned by
ifx_query() or
ifx_prepare() (select type queries only!).
position
An optional parameter for a "fetch" operation on "scroll" cursors: NEXT, PREVIOUS, CURRENT, FIRST, LAST or a number. If you specify a number, an "absolute" row fetch is executed. This parameter is optional, and only valid for SCROLL cursors.
Returns an associative array that corresponds to the fetched row, or
FALSE
if there are no more rows.
Blob columns are returned as integer blob id values for use in ifx_get_blob() unless you have used ifx_textasvarchar(1) or ifx_byteasvarchar(1), in which case blobs are returned as string values.
Example #1 Informix fetch rows
<?php
$rid = ifx_prepare ( "select * from emp where name like " . $name ,
$connid , IFX_SCROLL );
if (! $rid ) {
}
$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 )) {
}
$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 );
?>
[#1] rpuchalsky at att dot net [2001-01-11 12:23:04]
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"] .