# mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query — Exécute une requête SQL sans mobiliser les résultats MySQL

Avertissement

Cette extension était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0. À la place, vous pouvez utiliser l'extension MySQLi ou l'extension PDO_MySQL. Voir aussi MySQL : choisir une API du guide. Alternatives à cette fonction :

- Voir : les requêtes mises ou non en mémoire tampon

### Description

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

mysql_unbuffered_query() envoie la requête SQL `query` à MySQL sans automatiquement récupérer et mettre en mémoire les lignes du résultat, comme pourrait le faire la fonction mysql_query(). Ce comportement permet d'épargner une grande quantité de mémoire lorsque les requêtes SQL produisent un gros jeu de résultats, et vous pouvez commencer à travailler sur le jeu de résultats immédiatement après que la première ligne ait été récupérée que vous n'avez pas à attendre la fin du traitement de la requête SQL. Pour utiliser la fonction mysql_unbuffered_query() lorsque plusieurs connexions à des bases de données sont ouvertes, vous devez spécifier le paramètre optionnel `link_identifier` pour identifier la connexion à utiliser.

### Liste de paramètres

`query`

  La requête SQL à exécuter

  Les données de la requête doivent être proprement échappées.

`link_identifier`

  La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte de niveau `E_WARNING` sera générée.

### Valeurs de retour

Pour les requêtes SELECT, SHOW, DESCRIBE ou EXPLAIN, mysql_unbuffered_query() retourne une resource en cas de succès, ou `false` si une erreur survient.

Pour les autres types de requêtes, UPDATE, DELETE, DROP, etc, mysql_unbuffered_query() retourne `true` en cas de succès ou `false` si une erreur survient.

### Notes

> Note:

> L'intérêt de mysql_unbuffered_query() est tempéré par une limitation : mysql_num_rows() et mysql_data_seek() ne fonctionnent pas sur une ressource retournée par mysql_unbuffered_query(), tant que toutes les lignes sont récupérées. Vous devez aussi lire tous les résultats d'une première requête exécutée avec mysql_unbuffered_query(), avant de pouvoir en exécuter une autre en utilisant le même `link_identifier`.

### Voir aussi

- mysql_query() - Envoie une requête à un serveur MySQL