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
Descriptionresource mysql_unbuffered_query ( string query [, resource link_identifier] )
mysql_unbuffered_query() envoie la requête
SQL query au serveur MySQL identifié par
link_identifier, sans préparer les résultats
pour la lecture, comme le fait mysql_query().
D'une part, cela réduit considérablement la consommation de
mémoire par MySQL, lorsque les requêtes génèrent
des résultats de grande taille. D'autre part, vous pourrez utiliser les
résultats dès que la première ligne aura été
lue : pas besoin d'attendre que la requête ait complètement
été exécutée. Lorsque vous utilisez de multiples connexions à MySQL,
vous devez spécifier le paramètre optionnel
link_identifier.
Liste de paramètres
- query
Une requête SQL
-
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
E_WARNING est générée.
Valeurs de retour
Pour les requêtes SELECT, SHOW, DESCRIBE ou EXPLAIN,
mysql_query()
retourne une ressource en cas de succès, ou FALSE si une erreur
survient.
Pour les autres types de requêtes, UPDATE, DELETE, DROP, etc,
mysql_query() retourne TRUE en cas de succès
ou FALSE si une erreur survient.
NotesNote :
L'intérêt de mysql_unbuffered_query()
est tempéré par une limitation : mysql_num_rows()
et mysql_data_seek() ne fonctionne pas sur une
ressource retournée par mysql_unbuffered_query().
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.
|