mysqli::store_result

mysqli_store_result

(PHP 5, PHP 7)

mysqli::store_result -- mysqli_store_resultTransfère un jeu de résultats à partir de la dernière requête

Description

Style orienté objet

mysqli::store_result ([ int $option ] ) : mysqli_result

Style procédural

mysqli_store_result ( mysqli $link [, int $option ] ) : mysqli_result

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().

Liste de paramètres

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 :

Options valides
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)

Valeurs de retour

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 toujours FALSE 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 retourne FALSE 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.

Notes

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.

Exemples

Voir la fonction mysqli_multi_query().

Voir aussi