( PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)
ingres_fetch_array — Liest eine Zeile der Ergebnismenge in ein Array ein
Diese Funktion ist eine erweiterte Version der Funktion ingres_fetch_row(). Zusätzlich zur Speicherung der Daten unter numerischen Indizes werden die Daten auch unter assoziativen Indizes im Ergebnisarray gespeichert, in dem die Feldnamen als Schlüssel benutzt werden.
Falls eine oder mehrere Spalten der Ergebnismenge dieselben Feldnamen haben, bekommt die letzte Spalte die Priorität. Um auf die anderen Spalten zuzugreifen, müssen sie entweder den numerischen Index der Spalte benutzen oder Aliase für die Spalten machen.
<?php
$result = ingres_query($link, "select ap_place as city, ap_ccode as country from airport where ap_iatacode = 'VLL'");
$result = ingres_fetch_array($result);
$foo = $result["city"];
$bar = $result["country"];
?>
Von der Geschwindigkeit her ist diese Funktion identisch zu ingres_fetch_object(), und fast so schnell wie ingres_fetch_row() (der Unterschied ist zu vernachlässigen).
In der Standardeinstellung beginnt die Indizierung der Arrays, die mit ingres_fetch_array() geholt werden bei 1 und nicht bei 0, wie in anderen DBMS-Erweiterungen. Die Startposition kann aber angepasst werden, indem man den Konfigurationsparameter ingres.array_index_start auf den Wert 0 setzt.
Hinweis: Verwandte Konfigurationen
Siehe auch die Direktiven ingres.array_index_start, ingres.fetch_buffer_size und ingres.utf8 der Laufzeit-Konfiguration.
Die Ergebniskennung
Der Ergebnistyp. Der Parameter result_type kann die Werte INGRES_NUM für ein numerisches Array, INGRES_ASSOC für ein assoziatives Array oder INGRES_BOTH (Vorgabewert) für beides haben.
Gibt eine gelesene Zeile aus einem Ergebnis in einem Array zurück oder FALSE, wenn keine Zeilen mehr gelesen werden können.
Beispiel #1 Eine Ergebniszeile in ein Array einlesen
<?php
$link = ingres_connect($database, $user, $password);
$result = ingres_query($link,"select * from table");
while ($row = ingres_fetch_array($result)) {
echo $row["user_id"]; // aus dem assoziativen Array
echo $row["fullname"];
echo $row[1]; // aus dem numerischen Array
echo $row[2];
}
?>