Descripción
int
sybase_unbuffered_query ( string setencia, int identificador_de_enlace [, int almacena_resultado])
Devuelve un identificador de resultado Sybase positivo en caso exitoso, o
FALSE ante un error.
Nota: Esta función se
encuentra disponible solamente cuando se usan las bibliotecas CT de
Sybase y no las bibliotecas DB.
sybase_unbuffered_query() envía una consulta a la
actual base de datos activa en el servidor que está asociada con el
identificador de enlace especificado. Si no se especifica un
identificador de enlace, se asume el último enlace abierto. Si no hay un
enlace abierto, la función intentará establecer un enlace como si
sybase_connect() fuese llamada, y lo usará.
A diferencia de sybase_query(),
sybase_unbuffered_query() leerá sólo la
primera fila del resultado asociado. sybase_fetch_array()
una función similar leerá mas filas según necesite.
sybase_data_seek() lee hasta la fila solicitada. Este
comportamiento puede producir un mejor desempeño en resultados asociados
muy grandes.
sybase_num_rows() Sólo regresará el
número de filas del resultado asociado que ha sido leido.
Para Sybase, el número de filas en un resultado es desconocido,
por lo tanto debe ser calculado por una implementación del cliente.
Nota: Si no ha utilizado todos los resultados asociados antes de
ejecutar una nueva sentencia, PHP generará una advertencia y
cancelará todos los resultados pendientes. Para evitar esto,
use sybase_free_result() el cual cancelará
los resultados pendientes de una sentencia sin almacenamiento
intermedio.
El parámetro opcional almacena_resultado
puede estar en FALSE para indicar que el resultado asociado no debe ser
traido a la memoria, y así minimiza el uso de la memoria,
lo cuál es particularmente interesante con gran cantidad de
filas en un resultado asociado.
Vea también
sybase_query()
Ejemplo 1. Ejemplo sybase_unbuffered_query()
<?php $dbh= sybase_connect('SYBASE', '', ''); $q= sybase_unbuffered_query('select firstname, lastname from huge_table', $dbh, false); sybase_data_seek($q, 10000); $i= 0; while ($row= sybase_fetch_row($q)) { echo $row[0] . ' ' . $row[0]; if ($i++ > 40000) break; } sybase_free_result($q); sybase_close($dbh); ?>
|
|