ingres_fetch_array
( PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)
ingres_fetch_array — Liest eine Zeile der Ergebnismenge in ein Array ein
Beschreibung
$result
[, int $result_type
] )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.
Parameter-Liste
-
result -
Die Ergebniskennung
-
result_type -
Der Ergebnistyp. Der Parameter
result_typekann die Werte INGRES_NUM für ein numerisches Array, INGRES_ASSOC für ein assoziatives Array oder INGRES_BOTH (Vorgabewert) für beides haben.
Rückgabewerte
Gibt eine gelesene Zeile aus einem Ergebnis in einem Array zurück oder
FALSE, wenn keine Zeilen mehr gelesen werden können.
Beispiele
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];
}
?>
Siehe auch
- ingres_query() - Sendet eine SQL-Abfrage an den Ingres-Server
- ingres_num_fields() - Gibt die Anzahl der Felder der letzten Abfrage zurück
- ingres_field_name() - Holt den Namen eines Feldes in einer Ergebnismenge
- ingres_fetch_object() - Gibt eine Zeile der Ergebnismenge als Objekt zurück
- ingres_fetch_row() - Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array