(PHP 5, PHP 7, PHP 8)
mysqli::use_result -- mysqli_use_result — Initialise la récupération d'un jeu de résultats
Description
Style orienté objet
public
mysqli::use_result(): mysqli_result|false
mysqli_use_result(mysqli
$mysql
): mysqli_result|false
Cette fonction ou la fonction mysqli_store_result()
doivent être appelées avant que le résultat d'une requête ne puisse être
récupéré, et pour éviter l'échec de la prochaine requête sur la connexion
à la base de données.
Note:
La fonction mysqli_use_result() ne transfère pas
le jeu de résultats en entier à partir de la base de données
et on ne peut donc pas utiliser des fonctions telle
mysqli_data_seek() pour se déplacer entre les
enregistrements. Pour utiliser cette fonctionnalité, vous devez
récupérer le jeu de résultats en utilisant
mysqli_store_result().
Liste de paramètres
Cette fonction ne contient aucun paramètre.
Valeurs de retour
Retourne un objet de résultats non stocké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 Exemple avec mysqli::use_result()
Style orienté objet
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";
/* Exécution de plusieurs requêtes */
if ($mysqli->multi_query($query)) {
do {
/* Stockage du premier jeu de résultats */
if ($result = $mysqli->use_result()) {
while ($row = $result->fetch_row()) {
printf("%s\n", $row[0]);
}
$result->close();
}
/* Affichage d'une démarcation */
if ($mysqli->more_results()) {
printf("-----------------\n");
}
} while ($mysqli->next_result());
}
/* Fermeture de la connexion */
$mysqli->close();
?>
Style procédural
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";
/* Exécution de plusieurs requêtes */
if (mysqli_multi_query($link, $query)) {
do {
/* Stockage du premier jeu de résultats */
if ($result = mysqli_use_result($link)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}
/* Affichage d'une démarcation */
if (mysqli_more_results($link)) {
printf("-----------------\n");
}
} while (mysqli_next_result($link));
}
/* Fermeture de la connexion */
mysqli_close($link);
?>
Les exemples ci-dessus vont afficher :
my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer
Voir aussi