oci_fetch_all Lee múltiples líneas de un resultado en un array multidimensional &reftitle.description; intoci_fetch_all resourcestatement arrayoutput intoffset0 intlimit-1 intflagsOCI_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 <function>oci_fetch_all</function> Constante Descripción OCI_FETCHSTATEMENT_BY_ROW El array devuelto contendrá un solo subarray por líneas. OCI_FETCHSTATEMENT_BY_COLUMN El 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 <function>oci_fetch_all</function> Constante Descripción OCI_NUM Se usan índices numéricos para cada array de columnas. OCI_ASSOC Se 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 <function>oci_fetch_all</function> \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"; foreach ($res as $col) { echo "\n"; foreach ($col as $item) { echo " \n"; } echo "\n"; } echo "
".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."
\n"; oci_free_statement($stid); oci_close($conn); ?> ]]>
Ejemplo con <function>oci_fetch_all</function> y <constant>OCI_FETCHSTATEMENT_BY_ROW</constant> \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 <function>oci_fetch_all</function> y <constant>OCI_NUM</constant> \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_fetch oci_fetch_array oci_fetch_assoc oci_fetch_object oci_fetch_row oci_set_prefetch