mysqli::store_result

mysqli_store_result

(PHP 5, PHP 7, PHP 8)

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

Description

Style orienté objet

publicmysqli::store_result(int$mode = 0): mysqli_result|false

Style procédural

mysqli_store_result(mysqli$mysql, int$mode = 0): mysqli_result|false

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 mysql pour une utilisation avec mysqli_data_seek().

Liste de paramètres

mysql

Seulement en style procédural : Un objet mysqli retourné par la fonction mysqli_connect() ou mysqli_init().

mode

L'option que vous souhaitez définir. À partir de PHP 8.1, ce paramètre n'a aucun effet. Elle peut prendre l'une des valeurs suivantes :

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

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.

Erreurs / Exceptions

Si le rapport d'erreurs mysqli est activé (MYSQLI_REPORT_ERROR) et que l'opération demandée échoue, un avertissement est généré. Si, en plus, le mode est défini sur MYSQLI_REPORT_STRICT, une mysqli_sql_exception est lancée à la place.

Exemples

Voir la fonction mysqli_multi_query().

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.

Voir aussi

To Top