pg_fetch_array
(PHP 4, PHP 5, PHP 7, PHP 8)
pg_fetch_array — Holt eine Zeile als Array
Beschreibung
pg_fetch_array
( resource $result
, int $row
= ?
, int $result_type
= PGSQL_BOTH
) : array
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_type
ist eine Konstante, die die
Werte PGSQL_ASSOC
, PGSQL_NUM
oder PGSQL_BOTH
annehmen kann.
Mit der Konstanten PGSQL_NUM
gibt pg_fetch_array()
ein numerisch indiziertes Array zurück, mit der Konstanten
PGSQL_ASSOC
ein assoziatives Array. Die
Standardeinstellung ist PGSQL_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";
// Der Parameter row ist 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";
?>