Maison > base de données > tutoriel mysql > Pourquoi `mysqli_stmt::bind_result()` génère-t-il une erreur de non-concordance de variable de liaison ?

Pourquoi `mysqli_stmt::bind_result()` génère-t-il une erreur de non-concordance de variable de liaison ?

Patricia Arquette
Libérer: 2024-12-10 21:46:14
original
683 Les gens l'ont consulté

Why Does `mysqli_stmt::bind_result()` Throw a Bind Variable Mismatch Error?

Incompatibilité de variable de liaison dans mysqli_stmt::bind_result() de PHP

Lorsque vous essayez de vous connecter à l'aide d'un formulaire de connexion PHP avec une instruction préparée, vous rencontrez le erreur :

mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statement
Copier après la connexion

Diagnostic :

Cette erreur se produit lorsque le nombre de variables de liaison spécifiées dans bind_param() ne correspond pas au nombre de champs renvoyés par le préparé déclaration.

Solution :

Dans votre code :

$stmt->prepare("SELECT username AND password FROM users WHERE username = ?");
Copier après la connexion

L'instruction préparée récupère deux champs, le nom d'utilisateur et le mot de passe, mais vos appels ultérieurs à bind_param() et bind_result() ne spécifient qu'une seule variable de liaison, $username.

Pour résoudre ceci, vous devez spécifier correctement plusieurs variables et champs de liaison :

$mysqli->prepare("SELECT username, password FROM users WHERE username = ?");
$username = $_POST['name'];
$stmt->bind_param('s', $username);
$stmt->execute();
$stmt->bind_result($username, $password);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal