PHP Conference Nagoya 2025

oci_fetch

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetchColoca la siguiente fila de una consulta en los búferes internos

Descripción

oci_fetch(resource $statement): bool

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.

Parámetros

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.

Valores devueltos

Devuelve true en caso de éxito, o false si no existen más filas en el parámetro statement.

Ejemplos

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);

?>

Notas

Nota:

No se devolverán filas desde Conjuntos de Resultados Implícitos de Oracle Database 12c. Use oci_fetch_array() en su lugar.

Ver también

  • oci_define_by_name() - Asocia una variable de PHP con una columna para la obtención de consultas
  • oci_fetch_all() - Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional
  • oci_fetch_array() - Devuelve la siguiente fila de una consulta como un array asociativo o numérico
  • oci_fetch_assoc() - Devuelve la siguiente fila de una consulta como un array asociativo
  • oci_fetch_object() - Devuelve la siguiente fila de una consulta como un objeto
  • oci_fetch_row() - Devuelve la siguiente fila de una consulta como un array numérico
  • oci_result() - Devuelve el valor de un campo de la fila obtenida

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top