Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/04/2009, 12:08
jesusrp
 
Fecha de Ingreso: julio-2006
Mensajes: 3
Antigüedad: 17 años, 9 meses
Puntos: 0
Convertir resultados de oci_fetch_all en un string

Estoy intentando volcar todos los datos que devuelve una query de oracle a un fichero, la forma que tengo ahora para hacerlo es muy lenta, recorriendo cada fila devuelta por oracle:

while (ocifetch($rs_datos)){
$fich.=ociresult($rs_datos,1)."\n";
}

y despues vuelco $fich a un fichero, estoy intentando hacerlo mas rápido,haciendo fetch de todos los registros a la vez usando:

oci_fetch_all($rs_datos,$fich_arr,0,-1,OCI_FETCHSTATEMENT_BY_ROW);

luego convertir $fich_arr en un string con implode, sin recorrer uno por uno los elementos de $fich_arr, algo como:

$fich_string=implode("",$fich_arr);

y volcando $fich_string al fichero

Pero lo que obtengo dentro del fichero es la palabra Array. ¿por que me pasa esto?

Creo que oci_fetch_all no devuelve un array sino la dirección de un array, no? lo digo por el & que hay delante de $output

oci_fetch_all ( resource $statement , array &$output [, int $skip= 0 [, int $maxrows= -1 [, int $flags= 0 ]]] )

¿que tengo mal?
o como puedo volcar todos los elementos de una vez a un fichero sin recorrer cada elemento?

Muchas gracias