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