# mysql_unbuffered_query

(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

Advertencia

Esta extensión fue declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0. En su lugar debería utilzarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API. Las alternativas a esta función son:

- See: Consultas almacenadas y no almacenadas en buffer

### Descripción

mysql_unbuffered_query(string `$query`, resource `$link_identifier` = NULL): resource

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.

### Parámetros

`query`

  La consulta SQL a ejecutar.

  Los datos dentro de la consulta deben estar propiamente escapados.

`link_identifier`

  La conexión MySQL. Si no se especifica el identificador de enlace, se asume el último enlace abierto por mysql_connect(). Si no se encuentra este enlace, se intentará crear un nuevo enlace como si mysql_connect() hubiese sido invocada sin argumentos. Si no se encuentra o establece ninguna conexión, se genera un error de nivel `E_WARNING`.

### Valores devueltos

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.

### Notas

> 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`.

### Ver también

- mysql_query() - Enviar una consulta MySQL