pg_fetch_array
(PHP 4, PHP 5)
pg_fetch_array — Holt eine Zeile als Array
Beschreibung
$result
[, int $row
[, int $result_type = PGSQL_BOTH
]] )pg_fetch_array() gibt ein Array zurück, das die gelesene Zeile (Tupel, Datensatz) enthält.
pg_fetch_array() ist eine erweiterte Version von pg_fetch_row(). Zusätzlich zur Speicherung der Daten in einem numerischen Array (mit den Feldindizes) speichert diese Funktion die Daten auch in einem assoziativen Array, mit den Feldnamen als Indizes. In der Standardeinstellung wird ein Array mit beiden Indextypen zurückgegeben.
Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-
NULL.
pg_fetch_array() ist NICHT wesentlich langsamer als pg_fetch_row() oder pg_fetch_assoc(), ist aber viel einfacher zu benutzen.
Parameter-Liste
-
result -
PostgreSQL Verbindungskennung, die (unter anderem) von den Funktionen pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.
-
row -
Die Nummer der Zeile des Abfrageergebnisses, die geholt werden soll. Die Nummerierung beginnt bei 0. Fehlt dieser Parameter oder ist er
NULL, so wird jeweils die nächste Zeile geholt. -
result_type -
Ein optionaler Parameter, mit dem bestimmt werden kann, wie das array indiziert sein soll.
result_typeist eine Konstante, die die WertePGSQL_ASSOC,PGSQL_NUModerPGSQL_BOTHannehmen kann. Mit der KonstantenPGSQL_NUMgibt pg_fetch_array() ein numerisch indiziertes Array zurück, mit der KonstantenPGSQL_ASSOCein assoziatives Array. Die Standardeinstellung istPGSQL_BOTH, mit der ein Array sowohl mit numerischen als auch assoziativen Indizes zurückgegeben wird.
Rückgabewerte
Ein array, das entweder numerisch (bei 0 beginnend)
oder assoziativ indiziert ist, oder beides. Jeder Wert im
array wird als string repräsentiert.
Nullwerte der Datenbank (NULL) werden als NULL
zurückgegeben.
Bei einem Fehler oder wenn der Parameter row
größer als die Anzahl der Zeilen im Abfrageergebnis ist, oder wenn
kein Datensatz mehr gelesen werden kann, wird FALSE zurückgegeben.
Beispiele
Beispiel #1 pg_fetch_array() Beispiel
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "Konnte keine Verbindung aufbauen.\n";
exit;
}
$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
echo "Ein Fehler ist aufgetreten.\n";
exit;
}
$arr = pg_fetch_array($result, 0, PGSQL_NUM);
echo $arr[0] . " <- Zeile 1 Autor\n";
echo $arr[1] . " <- Zeile 1 E-mail\n";
// Seit PHP 4.1.0 ist der Parameter row optional. Stattdessen kann
// NULL übergeben werden. Aufeinanderfolgende Aufrufe von
// pg_fetch_array liefern jeweils den nächsten Datensatz.
$arr = pg_fetch_array($result, NULL, PGSQL_ASSOC);
echo $arr["author"] . " <- Zeile 2 Autor\n";
echo $arr["email"] . " <- Zeile 2 E-mail\n";
$arr = pg_fetch_array($result);
echo $arr["author"] . " <- Zeile 3 Autor\n";
echo $arr[1] . " <- Zeile 3 E-mail\n";
?>
Siehe auch
- pg_fetch_row() - Holt einen Datensatz als numerisches Array
- pg_fetch_object() - Holt einen Datensatz als Objekt
- pg_fetch_result() - Liefert Werte aus einer Ergebnismenge