(PHP 4 >= 4.0.6, PHP 5)
mysql_unbuffered_query -- Exécute une requête SQL sans mobiliser les résultats MySQL
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
.
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.
Pour les requêtes SELECT, SHOW, DESCRIBE ou EXPLAIN, mysql_unbuffered_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_unbuffered_query() retourne TRUE en cas de succès ou FALSE si une erreur survient.
Note : 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.
Précédent | Sommaire | Suivant |
mysql_thread_id | Niveau supérieur | Fonctions MySQL (PDO_MYSQL) |