(PHP 5, PHP 7)
mysqli::store_result -- mysqli_store_result — Transfère un jeu de résultats à partir de la dernière requête
Style orienté objet
Style procédural
Transfère le jeu de résultats à partir de la dernière requête sur la connexion
à la base de données spécifiée par le paramètre link
pour une utilisation avec mysqli_data_seek().
link
Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()
option
L'option que vous souhaitez définir. Elle peut prendre l'une des valeurs suivantes :
Nom | Description |
---|---|
MYSQLI_STORE_RESULT_COPY_DATA |
Copie les résultats récupérés d'un buffer interne mysqlnd dans des variables PHP. Par défaut, mysqlnd utilisera une référence logique pour éviter la copie et la duplications des résultats contenus en mémoire. Pour certains jeux de résultats, par exemple, les jeux de résultats avec beaucoup de petites lignes, l'approche de la copie peut réduire l'utilisation mémoire par les variables PHP contenant les résultats peuvent être libérées rapidement (disponible uniquement avec mysqlnd, depuis PHP 5.6.0) |
Retourne un résultat stocké sous la forme d'un objet ou FALSE
si une erreur survient.
Note:
mysqli_store_result() retourne
FALSE
dans le cas où la requête ne retourne pas de jeu de résultat (si la requête est de type INSERT par exemple). Cette fonction retournera toujoursFALSE
si le jeu de résultats ne peut être lu. Vous pouvez savoir s'il y a une erreur en utilisant la fonction mysqli_error() et en regardant si elle renvoie une chaîne vide, ou si mysqli_errno() retourne zéro, ou bien si mysqli_field_count() retourne une valeur différente de zéro. Une autre raison pour que cette fonction retourneFALSE
est que le jeu de résultats retourné après une requête réussie appelée par mysqli_query() est trop long (la mémoire pour celui-ci ne peut être allouée). Si mysqli_field_count() retourne une valeur différente de zéro, le traitement devrait produire un jeu de résultats non vide.
Note:
Il est toujours conseillé de libérer la mémoire allouée pour le résultat en utilisant la fonction mysqli_free_result(), lors du transfert de grands résultats en utilisant la fonction mysqli_store_result() cela devient particulièrement important.
Voir la fonction mysqli_multi_query().