mysqli_stmt::store_result

mysqli_stmt_store_result

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::store_result -- mysqli_stmt_store_resultStocke un ensemble de résultats dans un tampon interne

Description

Style orienté objet

public mysqli_stmt::store_result(): bool

Style procédural

mysqli_stmt_store_result(mysqli_stmt $statement): bool

Cette fonction devrait être appelé pour les requêtes qui succèdent à produire un jeu de résultats (e.g. SELECT, SHOW, DESCRIBE, EXPLAIN) seulement si le jeu de résultats complet doit être mit en tampon par PHP. Chaque appel successif à mysqli_stmt_fetch() retournera les données mise en tampon.

Note:

Il n'est pas nécessaire d'appeler mysqli_stmt_store_result() pour d'autres types de requête, mais si vous le faites, ce n'est pas grave et ne causera aucune perte notable de performance dans tous les cas. Vous pouvez détecter dans tous les cas si votre requête va produire un jeu de résultats en regardant si la fonction mysqli_stmt_result_metadata() retourne false.

Liste de paramètres

statement

Style procédural uniquement : Un objet mysqli_stmt retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

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

Exemple #1 Style orienté objet

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
$stmt = $mysqli->prepare($query);
$stmt->execute();

/* Stocker le résultat dans un tampon interne */
$stmt->store_result();

printf("Nombre de lignes : %d.\n", $stmt->num_rows);

Exemple #2 Style procédural

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
$stmt = mysqli_prepare($link, $query);
mysqli_stmt_execute($stmt);

/* Stocker le résultat dans un tampon interne */
mysqli_stmt_store_result($stmt);

printf("Nombre de lignes : %d.\n", mysqli_stmt_num_rows($stmt));

Les exemples ci-dessus vont afficher :

Nombre de lignes : 20.

Voir aussi