MYSQL_RES *mysql_store_result(MYSQL *mysql)
Description
Vous devez appeler mysql_store_result()
ou
mysql_use_result()
pour chaque requête qui
récupère des données avec succès
(SELECT
, SHOW
,
DESCRIBE
, EXPLAIN
).
Vous n'avez pas à appeler
mysql_store_result()
ou
mysql_use_result()
pour d'autres requêtes,
mais cela ne posera pas de problèmes ou ne ralentira pas vos
scripts si vous appelez
mysql_store_result()
en tout cas. Vous
pouvez savoir si la requête n'a pas renvoyé de résultat en
vérifiant si mysql_store_result()
retourne
0 (nous verrons cela plus tard).
Si vous voulez savoir si la requête devrait renvoyer un jeu
de résultats ou non, vous pouvez utiliser
mysql_field_count()
pour vérifier. See
Section 24.2.3.20, « mysql_field_count()
».
mysql_store_result()
lit le résultat en
entier et le stocke dans le client, alloue une structure
MYSQL_RES
, et place le résultat dans cette
structure.
mysql_store_result()
retourne un pointeur
nul si la requête n'a pas retourné un jeu de résultats (si
la requête était, par exemple, un
INSERT
).
mysql_store_result()
retourne aussi un
pointeur nul si la lecture à partir du jeu de résultats
échoue. Vous pouvez vérifier la présence d'erreurs en
regardant si mysql_error()
ne retourne pas
de pointeur nul, si mysql_errno()
retourne
<> 0, ou si mysql_field_count()
retourne <> 0.
Un jeu de résultat vide est retourné si aucune ligne n'est retournée. (Un jeu de résultats vide diffère d'un pointeur nul en tant que valeur de retour.)
Une fois que vous avez appelé
mysql_store_result()
et obtenu un résultat
qui n'est pas un pointeur nul, vous devez appeler
mysql_num_rows()
pour trouver combien de
lignes contient le jeu de résultats.
Vous pouvez appeler mysql_fetch_row()
pour
récupèrer des lignes à partir du jeu de résultats, ou
mysql_row_seek()
et
mysql_row_tell()
pour obtenir ou changer la
ligne courante dans le jeu de résultats.
Vous devez appeler mysql_free_result()
une
fois que vous n'avez plus besoin du résultat.
Valeur de retour
Une structure de résultat MYSQL_RES
.
NULL
si une erreur survient.
Erreurs
CR_COMMANDS_OUT_OF_SYNC
Les commandes n'ont pas été exécutées dans le bon ordre.
CR_OUT_OF_MEMORY
Plus de mémoire.
CR_SERVER_GONE_ERROR
Le serveur MySQL ne réponds pas.
CR_SERVER_LOST
La connexion au serveur a été perdue au cours la requête.
CR_UNKNOWN_ERROR
Une erreur inconnue s'est produite.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.