oci_fetch_array
(PHP 5, PECL oci8:1.1-1.2.4)
oci_fetch_array — Liefert die nächste Zeile der Ergebnisdaten als assoziatives und/oder numerisches Array
Beschreibung
Liefert ein Array, welches mit der nächsten Ergebniszeile übereinstimmt.
For details on the data type mapping performed by the oci8 driver, see the datatypes supported by the driver
Es sollte hier noch erwähnt sein, das oci_fetch_array() nur unwesentlich langsamer ist, als oci_fetch_row(), dafür aber viel handlicher ist.
Parameter Liste
- statement
-
Ein Zeiger auf eine gültige OCI-Anweisung.
- statement
-
Der optionale zweite Parameter kann eine beliebige Kombination aus dem folgenden Konstanten sein:
- OCI_BOTH - liefert ein Array sowohl mit assoziativen als auch numerischem Index (gleichzusetzen mit OCI_ASSOC + OCI_NUM). Dieses ist das Standardverhalten.
- OCI_ASSOC - liefert ein assiziatives Array (funktioniert wie oci_fetch_assoc()).
- OCI_NUM - liefert ein indiziertes Array (funktioniert wie oci_fetch_row()).
- OCI_RETURN_NULLS - erstellt leere Elemente für NULL-Felder.
- OCI_RETURN_LOBS - liefert den Wert eines LOB-Deskriptors.
Rückgabewerte
Liefert ein Array sowohl mit assiziativem wie numerischem Index oder FALSE, wenn es keine weiteren Zeilen für das statement gibt.
Hinweis: Diese Funktion setzt NULL Felder auf den PHP Wert NULL.
Hinweis: Oracle liefert alle Feldnamen in Großschrift zurück und deswegen sind auch die assoziativen Indizes im Ergebnisarray in Großschrift.
Beispiele
Example#1 oci_fetch_array() mit OCI_BOTH-Beispiel
<?php
$connection = oci_connect("apelsin", "kanistra");
$query = "SELECT id, name FROM fruechte";
$statement = oci_parse ($connection, $query);
oci_execute ($statement);
while ($row = oci_fetch_array ($statement, OCI_BOTH)) {
echo $row[0]." und ".$row['ID']." ist gleich<br>";
echo $row[1]." und ".$row['NAME']." ist gleich<br>";
}
?>
Example#2 oci_fetch_array() mit OCI_NUM-Beispiel
<?php
$connection = oci_connect("user", "password");
$query = "SELECT id, name, lob_field FROM fruechte";
$statement = oci_parse ($connection, $query);
oci_execute ($statement);
while ($row = oci_fetch_array ($statement, OCI_NUM)) {
echo $row[0]."<br>";
echo $row[1]."<br>";
echo $row[2]->read(100)."<br>"; // dies gibt die ersten 100 Bytes des LOBs aus
}
?>
Example#3 oci_fetch_array() mit OCI_ASSOC-Beispiel
<?php
$connection = oci_connect("user", "password");
$query = "SELECT id, name, lob_field FROM fruechte";
$statement = oci_parse ($connection, $query);
oci_execute ($statement);
while ($row = oci_fetch_array ($statement, OCI_ASSOC)) {
echo $row['ID']."<br>";
echo $row['NAME']."<br>";
echo $row['LOB_FIELD']."<br>"; // dies gibt "Object id #1" aus
}
?>
Example#4 oci_fetch_array() mit OCI_RETURN_LOBS-Beispiel
<?php
$connection = oci_connect("user", "password");
$query = "SELECT id, name, lob_field FROM fruechte";
$statement = oci_parse ($connection, $query);
oci_execute ($statement);
while ($row = oci_fetch_array ($statement, (OCI_NUM+OCI_RETURN_LOBS))) {
echo $row[0]."<br>";
echo $row[1]."<br>";
echo $row['LOB_FIELD']."<br>"; // dies gibt den Inhalt des LOBs aus
}
?>