# mysqli::store_result

# mysqli_store_result

(PHP 5, PHP 7, PHP 8)

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

### Description

Style orienté objet

public mysqli::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
  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)

### 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.

### Historique

Version | Description
--- | ---
8.4.0 | Le passage du paramètre `mode` est désormais obsolète. Ce paramètre n'a eu aucun effet depuis PHP 8.1.0.

### 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

- mysqli_real_query() - Exécute une requête SQL
- mysqli_use_result() - Initialise la récupération d'un jeu de résultats