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"] .
ifx_fetch_row
(PHP 4, PHP <=5.2.0)
ifx_fetch_row — Holt eine Zeile als assoziatives Array
Beschreibung
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,
$connid, IFX_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);
?>
ifx_fetch_row
11-Jan-2001 09:23