# mysqli_stmt::fetch

# mysqli_stmt_fetch

(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

Style procédural

mysqli_stmt_fetch(mysqli_stmt `$statement`): ?bool

Retourne le résultat d'une requête préparée dans une variable, liée par mysqli_stmt_bind_result().

> 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