[RESOLU] Erreur: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement in

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Erreur: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement in

Re: Erreur: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement in

par or 1 » 10 nov. 2019, 19:04

https://www.php.net/manual/fr/mysqli-st ... result.php
cette fonction prend donc un paramètre.
$stmt->bind_result(); // aucun paramètre n'est passé d'où le warning

il faudrait portant utiliser correctement les paramètres, cela éviterait les failles de sécurité et problèmes de ' ou ".

Erreur: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement in

par baptbaba » 10 nov. 2019, 17:17

Bonjour, je suis en train de coder un formulaire d'inscription. J'essaye de faire un code pour éviter de pouvoir s'inscrire si le nom et le prénom sont déjà utilisés.
code :
<?php
if ($_POST['ins_password'] == $_POST['ins_password_conf']){
$stmt = $mysqli->prepare(' SELECT * FROM vfs_inscrits WHERE prenom="' .$_POST['ins_prenom']. '" and nom1= "' .$_POST['ins_nom']. '" ');
$stmt->bind_result();
$stmt->execute();
$stmt->store_result();

$possible = $stmt->num_rows();

if ($possible == 0 ){
$sql = 'INSERT INTO vfs_inscrits(prenom,nom1,nom2,mdp,avatar,mail)
VALUES ("'.$_POST['ins_prenom'].'", "'.$_POST['ins_nom'].'","", "'.$_POST['ins_password'].'","","")';
$res2=$mysqli->query($sql);
echo'<p id="ins_ok">Vous avez été inscrit</p>';
}
else{
echo'Vous êtes déjà inscrit';
}
}
else{
echo('Les mots de passe ne sont pas identitques');
}
?>

Quand j'ouvre ma page, j'ai l'erreur :

Warning: Wrong parameter count for mysqli_stmt::bind_result() in C:\Users\User\Documents\site\siteFamille\acces.php on line 74
J'ai cherché sur plusieurs forums et je n'ai trouvé aucunes solutions. Même quand je fais $stmt->bind_param('ss', $prenom, $nom1);
Merci d'avance