(PHP 4 >= 4.0.6, PHP 5)
mysql_unbuffered_query — Envía una consulta SQL a MySQL, sin recuperar ni almacenar en búfer las filas de resultados
Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:
$query
[, resource $link_identifier
= NULL
] )
mysql_unbuffered_query() envía la consulta SQL
query
a MySQL, sin recuperar ni almacenar automáticamente
en búfer las filas de resultados, como
mysql_query() lo hace. Esto ahorra una considerable
cantidad de memoria con las consultas SQL que producen conjuntos de resultados grandes,
y se puede empezar a trabajar con el conjunto de resultados inmediatamente después de
que la primera fila haya sido recuperada, ya que no es necesario esperar hasta que la
consulta SQL completa haya sido ejecutada. Para usar
mysql_unbuffered_query() mientras están abiertas
múltiples conexiones a la base de datos, se debe especificar el parámetro opcional
link_identifier
para identificar qué conexión
se desea utilizar.
query
La consulta SQL a ejecutar.
Los datos dentro de la consulta deben estar propiamente escapados.
link_identifier
La conexión MySQL. Si el
identificador de enlace no se especifica, el último enlace abierto por
mysql_connect() es asumido. Si no se encuentra dicho enlace, la
función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado
sin parámetros. Si no se encuentra o establece una conexión, un error de nivel
E_WARNING
es generado.
Para sentencias SELECT, SHOW, DESCRIBE o EXPLAIN,
mysql_unbuffered_query()
devuelve un resource en caso de éxito, o FALSE
en caso
de error.
Para otro tipo de sentencias SQL, UPDATE, DELETE, DROP, etc,
mysql_unbuffered_query() devuelve TRUE
en caso de éxito
o FALSE
en caso de error.
Nota:
Los beneficios de mysql_unbuffered_query() tienen un precio: no se puede usar mysql_num_rows() ni mysql_data_seek() en un conjunto de resultados devuelto por mysql_unbuffered_query(), hasta que todas las filas sean recuperadas. También se tendrán que recuperar todas las filas de resultados de una consulta SQL no almacenada en búfer antes de poder enviar una nueva consulta SQL a MySQL, usando el mismo
link_identifier
.