PHP 5.4.31 Released

ifx_fetch_row

(PHP 4, PHP <=5.2.0)

ifx_fetch_rowHolt eine Zeile als assoziatives Array

Beschreibung

array ifx_fetch_row ( int $result_id [, mixed $position ] )

Gibt ein assoziatives Array zurück, das die gelesene Zeile enthält oder FALSE, falls es keine Zeilen mehr zu lesen gibt.

Für Blob Spalten werden Integerwerte als blob-IDs zurückgegeben, die von der Funktion ifx_get_blob() verwendet werden, es sei denn, Sie haben ifx_textasvarchar(1) oder ifx_byteasvarchar(1) benutzt. Dann werden Blobs als Zeichenketten zurückgegeben. Bei einem Fehler wird FALSE zurückgegeben.

result_id ist eine gültige Ergebniskennung, die von ifx_query() oder ifx_prepare() (nur bei SELECT Abfragen!) zurückgegeben wurde.

position ist ein optionaler Parameter für eine "fetch" Operation eines "scroll" Cursors. Der Wert dieses Parameters kann "NEXT", "PREVIOUS", "CURRENT", "FIRST", "LAST" oder eine Zahl sein. Falls Sie eine Zahl angeben, werden die zu holenden Zeilen "absolut" angegeben. Dieser Parameter ist optional und gilt nur für SCROLL Cursors.

ifx_fetch_row() holt eine Zeile aus der Ergebnismenge, die mit der angegebenen Ergebniskennung verknüpft ist. Die Zeile wird als Array zurückgegeben. Jede Spalte der Ergebnismenge wird in einer Arraykomponente gespeichert, beginnend bei Offset 0, mit dem Spaltennamen als Index.

Aufeinanderfolgende Aufrufe von ifx_fetch_row() geben die jeweils nächste Zeile der Ergebnismenge zurück oder FALSE, falls es keine Zeile mehr gibt.

Beispiel #1 Informix fetch rows

<?php
$rid 
ifx_prepare ("select * from emp where name like " $name,
                     
$connidIFX_SCROLL);
if (! 
$rid) {
  
/* ... Fehler ... */
}
$rowcount ifx_affected_rows($rid);
if (
$rowcount 1000) {
    
printf ("Zu viele Zeilen in der Ergebnismenge (%d)\n<br />"$rowcount);
    die (
"Bitte begrenzen Sie Ihre Abfrage<br />\n");
}
if (! 
ifx_do ($rid)) {
  
/* ... Fehler ... */
}
$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
0
rpuchalsky at att dot net
13 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