(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_fetch — Ruft die nächste Zeile einer Abfrage in einen internen Puffer ab
Ruft die nächste Zeile einer Abfrage in einen internen Puffer ab, auf den entweder mit oci_result() zugegriffen werden kann, oder unter Verwendung von Variablen, die zuvor mit oci_define_by_name() definiert wurden.
Allgemeine Information zum Abrufen von Daten sind der Dokumentation von oci_fetch_array() zu entnehmen.
statement
Der Identifizierer eines
gültigen OCI8-Ausdrucks, der von oci_parse() erzeugt
und von oci_execute() oder einem REF
CURSOR
-Ausdruck verwendet wird.
Gibt im Erfolgsfall true
zurück, false
wird zurückgegeben, wenn keine
weiteren Zeilen mehr in statement
vorhanden sind.
Beispiel #1 oci_fetch() mit definierten Variablen
<?php
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
// Die Definitionen MÜSSEN vor der Ausführung erfolgen
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);
oci_execute($stid);
// Jedes Abrufen füllt die zuvor definierten Variablen mit den Daten der
// nächsten Zeile
while (oci_fetch($stid)) {
echo "Standort-ID $locid ist $city<br>\n";
}
// Ausgabe:
// Standort-ID 1000 ist Rom
// Standort-ID 1100 ist Venedig
oci_free_statement($stid);
oci_close($conn);
?>
Beispiel #2 oci_fetch() mit oci_result()
<?php
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
while (oci_fetch($stid)) {
echo oci_result($stid, 'LOCATION_ID') . " ist ";
echo oci_result($stid, 'CITY') . "<br>\n";
}
// Ausgabe:
// 1000 ist Rom
// 1100 ist Venedig
oci_free_statement($stid);
oci_close($conn);
?>
Hinweis:
Diese Funktion gibt keine Zeilen aus einer impliziten Ergebnismenge einer Oracle-Datenbank zurück. Verwenden Sie stattdessen die Funktion oci_fetch_array().