Lie des variables à un jeu de résultats

# mysqli_stmt::bind_result

# mysqli_stmt_bind_result

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Lie des variables à un jeu de résultats

### Description

Style orienté objet

public function mysqli_stmt::bind_result(mixed `&$var`, mixed `&...$vars`): bool

Style procédural

function mysqli_stmt_bind_result(mysqli_stmt `$statement`, mixed `&$var`, mixed `&...$vars`): bool

Associe des colonnes d'un résultat à des variables.

Lorsque mysqli_stmt_fetch() est appelée pour lire des valeurs, le protocole MySQL place les données dans les variables spécifiées `var`/`vars`.

Une colonne peut être liée ou reliée à tout moment, même après qu'un jeu de résultats ait été partiellement récupéré. La nouvelle liaison prend effet la prochaine fois que la mysqli_stmt_fetch() est appelée.

> Note:

> Toutes les colonnes doivent être liées après l'exécution de la fonction mysqli_stmt_execute() et avant l'appel à la fonction mysqli_stmt_fetch(). En fonction du type de valeur de la colonne, le type de variable PHP peut être automatiquement modifié.

> Note:

> Une colonne peut être associée ou réassociée à tout moment, même après une lecture partielle du résultat. La nouvelle association prend effet au prochain appel de mysqli_stmt_fetch().

Astuce

Cette fonction est utile pour les résultats basiques. Pour récupérer un ensemble de résultats itérable, ou récupérer chaque ligne sous forme de tableau ou d'objet, utiliser la mysqli_stmt_get_result().

### Liste de paramètres

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

  La première variable à lier.

`vars`

  Variables supplémentaires à lier.

### Valeurs de retour

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

### Exemples

Exemple #1 Style orienté objet

    <?php

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

    /* Préparation de la requête */
    $stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5");
    $stmt->execute();

    /* Lier des variables à une déclaration préparée */
    $stmt->bind_result($col1, $col2);

    /* Récupération des valeurs */
    while ($stmt->fetch()) {
        printf("%s %s\n", $col1, $col2);
    }
    ?>

Exemple #2 Style procédural

    <?php

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

    /* Préparation de la requête */
    $stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5");
    mysqli_stmt_execute($stmt);

    /* Lier des variables à une déclaration préparée */
    mysqli_stmt_bind_result($stmt, $col1, $col2);

    /* Récupération des valeurs */
    while (mysqli_stmt_fetch($stmt)) {
        printf("%s %s\n", $col1, $col2);
    }
    ?>

L'exemple ci-dessus va afficher :

    AFG Afghanistan
    ALB Albania
    DZA Algeria
    ASM American Samoa
    AND Andorra

### Voir aussi

- mysqli_stmt_get_result() - Récupère un jeu de résultats depuis une requête préparée en tant qu'objet mysqli_result
- mysqli_stmt_bind_param() - Lie des variables à une requête MySQL
- mysqli_stmt_execute() - Exécute une requête préparée
- mysqli_stmt_fetch() - Lit des résultats depuis une requête MySQL préparée dans des variables liées
- mysqli_prepare() - Prépare une requête SQL pour l'exécution
- mysqli_stmt_prepare() - Prépare une requête SQL pour l'exécution

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