oci_fetch_allLee múltiples líneas de un resultado en un array multidimensional
&reftitle.description;
intoci_fetch_allresourcestatementarrayoutputintoffset0intlimit-1intflagsOCI_FETCHSTATEMENT_BY_COLUMN | OCI_ASSOC
Lee todas las líneas de un resultado Oracle en un array de 2 dimensiones.
Por omisión, se devuelven todas las líneas.
Esta función puede ser llamada una sola vez para cada consulta
ejecutada mediante la función oci_execute.
&reftitle.parameters;
statement
&oci.arg.statement.id;
output
La variable que contendrá las líneas devueltas.
Las columnas LOB se devuelven en forma de string
cuando Oracle soporta la conversión.
Ver la función oci_fetch_array para más
información sobre cómo se recuperan los datos y sus tipos.
offset
Número de líneas iniciales a ignorar al leer
el resultado. Por omisión, este parámetro vale 0, para comenzar la lectura
en la primera línea.
limit
Número máximo de líneas a devolver. Por omisión, vale -1, lo que
significa que todas las líneas disponibles serán devueltas
desde el parámetro offset + 1.
flags
El parámetro flags indica la estructura
del array pero también si deben usarse arrays asociativos.
Modos de estructura de arrays para la función
oci_fetch_allConstanteDescripciónOCI_FETCHSTATEMENT_BY_ROWEl array devuelto contendrá un solo subarray por
líneas.OCI_FETCHSTATEMENT_BY_COLUMNEl array devuelto contendrá un solo subarray por
columnas. Este es el comportamiento por omisión.
Los arrays pueden ser indexados ya sea por el encabezado de columna,
o numéricamente.
Modos de indexación de arrays para la función
oci_fetch_allConstanteDescripciónOCI_NUMSe usan índices numéricos para cada array de columnas.OCI_ASSOCSe usan índices asociativos para cada array de columnas. Este es el comportamiento por omisión.
Utilice el operador de adición ""+"" para elegir una
combinación de estructuras de arrays y modos de indexación.
Los nombres de columnas que no son sensibles a mayúsculas/minúsculas (por omisión en Oracle),
tendrán nombres de atributos en mayúsculas. Los nombres de columnas que son sensibles a mayúsculas/minúsculas,
tendrán nombres de atributos usando exactamente la misma casilla de la columna.
Utilice la función var_dump en el objeto de resultado para verificar
la casilla apropiada a usar para cada consulta.
Las consultas que poseen más de una columna con el mismo nombre
deben usar alias. De lo contrario, solo una
de las columnas aparecerá en el array asociativo.
&reftitle.returnvalues;
Devuelve el número de líneas recuperadas en el parámetro output
que puede ser 0 o más.
&reftitle.examples;
Ejemplo con oci_fetch_all
\n";
var_dump($res);
// var_dump mostrará:
// 2 rows fetched
// array(2) {
// ["POSTAL_CODE"]=>
// array(2) {
// [0]=>
// string(6) "00989x"
// [1]=>
// string(6) "10934x"
// }
// ["CITY"]=>
// array(2) {
// [0]=>
// string(4) "Roma"
// [1]=>
// string(6) "Venice"
// }
// }
// Mostrar resultados
echo "
\n";
oci_free_statement($stid);
oci_close($conn);
?>
]]>
Ejemplo con oci_fetch_all y OCI_FETCHSTATEMENT_BY_ROW
\n";
var_dump($res);
// Muestra:
// 2 líneas recuperadas
// array(2) {
// [0]=>
// array(2) {
// ["POSTAL_CODE"]=>
// string(6) "00989x"
// ["CITY"]=>
// string(4) "Roma"
// }
// [1]=>
// array(2) {
// ["POSTAL_CODE"]=>
// string(6) "10934x"
// ["CITY"]=>
// string(6) "Venice"
// }
// }
oci_free_statement($stid);
oci_close($conn);
?>
]]>
Ejemplo con oci_fetch_all y OCI_NUM
\n";
var_dump($res);
// Muestra:
// 2 líneas recuperadas
// array(2) {
// [0]=>
// array(2) {
// [0]=>
// string(6) "00989x"
// [1]=>
// string(4) "Roma"
// }
// [1]=>
// array(2) {
// [0]=>
// string(6) "10934x"
// [1]=>
// string(6) "Venice"
// }
// }
oci_free_statement($stid);
oci_close($conn);
?>
]]>
&reftitle.notes;
El uso del parámetro offset es realmente ineficiente.
Todas las líneas a evitar están incluidas en el conjunto de resultados devuelto por
la base de datos a PHP. Luego, son descartadas. Es más eficiente
usar una consulta SQL para restringir el alcance de las líneas deseadas.
Ver la función oci_fetch_array para un ejemplo concreto.
Las consultas que devuelven un número muy grande de líneas pueden
ahorrar memoria al usar funciones que recuperan una sola línea, como hace la función oci_fetch_array.
&oci.use.setprefetch;
Esta función no devolverá líneas desde un conjunto
de resultados implícito de una base de datos Oracle
12c. Utilice en su lugar la función
oci_fetch_array.
&reftitle.seealso;
oci_fetchoci_fetch_arrayoci_fetch_assococi_fetch_objectoci_fetch_rowoci_set_prefetch