Lit des résultats depuis une requête MySQL préparée dans des variables liées

# 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 function mysqli_stmt::fetch(): ?bool

Style procédural

function 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:

> Il est à noter 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
Valeur | 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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open