# 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 mysqli_stmt::bind_result(mixed `&$var`, mixed `&...$vars`): bool

Style procédural

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, utilisez 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émentaire à 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