(PHP 5, PHP 7, PHP 8)
mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Lie des variables à un jeu de résultats
Style orienté objet
Style procédural
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().
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().
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.
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
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