(PHP 5, PHP 7, PHP 8)
mysqli_stmt::fetch -- mysqli_stmt_fetch — Lit des résultats depuis une requête MySQL préparée dans des variables liées
Description
Style orienté objet
public
mysqli_stmt::fetch(): ?bool
mysqli_stmt_fetch(mysqli_stmt
$statement
): ?bool
Note:
Notez que toutes les colonnes doivent être liées par l'application
avant d'appeler mysqli_stmt_fetch().
Note:
Les données sont transférées sans être bufferisées, sans appeler la
fonction mysqli_stmt_store_result(), ce qui
peut avoir un impact sur les performances (mais aussi, réduire
l'utilisation mémoire).
Liste de paramètres
-
statement
-
Style procédural uniquement : Un objet mysqli_stmt
retourné par la fonction mysqli_stmt_init().
Valeurs de retour
Valeurs de retour
Value |
Description |
true |
Réussite. Les données ont été lues. |
false |
Une erreur est survenue. |
null |
Il n'y a plus de ligne à lire ou les données ont été tronquées. |
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 = new mysqli("localhost", "my_user", "my_password", "world");
/* Vérifie la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";
if ($stmt = $mysqli->prepare($query)) {
/* Exécution de la requête */
$stmt->execute();
/* Association des variables de résultat */
$stmt->bind_result($name, $code);
/* Lecture des valeurs */
while ($stmt->fetch()) {
printf ("%s (%s)\n", $name, $code);
}
/* Fermeture de la commande */
$stmt->close();
}
/* Fermeture de la connexion */
$mysqli->close();
?>
Exemple #2 Style procédural
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Vérifie la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";
if ($stmt = mysqli_prepare($link, $query)) {
/* Exécution de la requête */
mysqli_stmt_execute($stmt);
/* Association des variables de résultat */
mysqli_stmt_bind_result($stmt, $name, $code);
/* Lecture des valeurs */
while (mysqli_stmt_fetch($stmt)) {
printf ("%s (%s)\n", $name, $code);
}
/* Fermeture de la commande */
mysqli_stmt_close($stmt);
}
/* Fermeture de la connexion */
mysqli_close($link);
?>
Les exemples ci-dessus vont afficher :
Rockford (USA)
Tallahassee (USA)
Salinas (USA)
Santa Clarita (USA)
Springfield (USA)
Voir aussi
- mysqli_prepare() - Prépare une requête SQL pour l'exécution
- mysqli_stmt_errno() - Retourne un code erreur pour la dernière requête
- mysqli_stmt_error() - Retourne une description de la dernière erreur de traitement
- mysqli-stmt_bind_result() - Lie des variables à un jeu de résultats