(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_fetch — Coloca la siguiente fila de una consulta en los búferes internos
Coloca la siguiente fila de una consulta en los búferes internos, accesibles mediante oci_result(), o usando varibles previamente definidas con oci_define_by_name().
Véase oci_fetch_array() para información general sobre la obtención de datos.
statement
Un identificador de sentencia
de OCI8 válido creado por oci_parse() y ejecutado
por oci_execute(), o un identificador de sentencia de
REF CURSOR
.
Devuelve true
en caso de éxito, o false
si no existen más filas en el parámetro
statement
.
Ejemplo #1 oci_fetch() con variables definidas
<?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);
// Las definiciones DEBEN realizarse antes de la ejecución
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);
oci_execute($stid);
// Cada obtención rellena las variables anteriormente definidas con los datos de la siguiente fila
while (oci_fetch($stid)) {
echo "El id de ubicacion $locid es $city<br>\n";
}
// Se muestra:
// El id de ubicacion 1000 es Roma
// El id de ubicacion 1100 es Venice
oci_free_statement($stid);
oci_close($conn);
?>
Ejemplo #2 oci_fetch() con 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') . " es ";
echo oci_result($stid, 'CITY') . "<br>\n";
}
// Se muestra:
// 1000 es Roma
// 1100 es Venice
oci_free_statement($stid);
oci_close($conn);
?>
Nota:
No se devolverán filas desde Conjuntos de Resultados Implícitos de Oracle Database 12c. Use oci_fetch_array() en su lugar.