Maison >développement back-end >tutoriel php >Pourquoi l'erreur « Le nombre de variables de liaison ne correspond-elle pas au nombre de champs dans l'instruction préparée » se produit-elle lors des requêtes INSERT ?
Lorsque vous essayez d'insérer des données dans une base de données à l'aide de l'extension mysqli de PHP, vous pouvez rencontrez l'erreur suivante :
Warning: mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statement in E:\XAMPP\htdocs\account\lib\register.php on line 73
Cette erreur se produit lorsque vous spécifiez une variable de liaison pour chaque champ dans la requête INSERT, mais que la requête ne renvoie aucun résultat. Pour résoudre ce problème, vous devez supprimer la ligne qui lie les résultats :
<code class="php">$stmt->bind_result($user, $pw);</code>
L'extrait de code modifié ressemblerait à ceci :
<code class="php">$conn->prepare("INSERT INTO login(user, pass) VALUES(?, ?)"); $stmt->bind_param("ss", $user, $pw); $stmt->execute();</code>
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!