Erreur : Warning: PDOStatement::execute(): SQLSTATE[HY093]

Fermé
cricri2394 Messages postés 150 Date d'inscription samedi 30 septembre 2006 Statut Membre Dernière intervention 13 janvier 2015 - 16 avril 2014 à 21:49
cricri2394 Messages postés 150 Date d'inscription samedi 30 septembre 2006 Statut Membre Dernière intervention 13 janvier 2015 - 17 avril 2014 à 20:34
Bonjour,

je ne comprends pas l'erreur (enfin le warning) que me donne php à l'exécution d'une requête préparée. J'ai beau tout tourner dans tous les sens, je ne vois pas ce qui cloche.
J'ai donc le warning suivant :

Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\Program Files (x86)\EasyPHP-12.1\www\***.php on line 200

$id = nouv_id($conn,'boutique');		
//die('id de la nouvelle boutique : '.$id);

$stmt = $conn->prepare("insert into wedding_presta_boutique values(:boutique_id, :boutique_user_id,
:boutique_nom,
:boutique_descr,
:boutique_type);");

$stmt->bindParam(':boutique_id' , $boutique_id);
$stmt->bindParam(':boutique_user_id' , $boutique_user_id);
$stmt->bindParam(':boutique_nom,' , $boutique_nom);
$stmt->bindParam(':boutique_descr' , $boutique_descr);
$stmt->bindParam(':boutique_type' , $boutique_type);

$boutique_id = $id;
$boutique_user_id = $user_id;
$boutique_nom = $_POST['nom_boutique'];
$boutique_descr = $_POST['descr_boutique'];
$boutique_type = $_POST['type_boutique'];

$stmt->execute();

J'ai la même requête au dessus qui elle fonctionne parfaitement par contre


$stmt = $conn->prepare("insert into wedding_user values(:user_id,
:user_login,
SHA1(:user_mdp),
:user_email,
:user_nom, :user_prenom,
:user_statut,
:user_date_naissance,
:user_siret,
:user_rs, :user_adr,
:user_cp,
:user_ville, :user_pays, :user_tel,
:user_site,
:user_fb,
:user_valide);");
$stmt->bindParam(':user_id',$user_id);
$stmt->bindParam(':user_login',$user_login);
$stmt->bindParam(':user_mdp',$user_mdp);
$stmt->bindParam(':user_email',$user_email);
$stmt->bindParam(':user_nom',$user_nom);
$stmt->bindParam(':user_prenom',$user_prenom);
$stmt->bindParam(':user_statut',$user_statut);
$stmt->bindParam(':user_date_naissance',$user_date_naissance);
$stmt->bindParam(':user_siret',$user_siret);
$stmt->bindParam(':user_rs',$user_rs);
$stmt->bindParam(':user_adr',$user_adr);
$stmt->bindParam(':user_cp',$user_cp);
$stmt->bindParam(':user_ville',$user_ville);
$stmt->bindParam(':user_pays',$user_pays);
$stmt->bindParam(':user_tel',$user_tel);
$stmt->bindParam(':user_site',$user_site);
$stmt->bindParam(':user_fb',$user_fb);
$stmt->bindParam(':user_valide',$user_valide);

$user_id = $id;
$user_login = $_POST['loginInscr'];//$login;
$user_mdp = $_POST['mdpInscr'];// $mdp;
$user_email = $_POST['niouf'];//$niouf;
$user_nom = $_POST['nom'];//$nom;
$user_prenom = $_POST['prenom'];//$prenom;
$user_statut = $_POST['statut'];//$statut;
$user_date_naissance = $_POST['date_naissance'];//$date_naissance;
$user_siret = $_POST['siret'];//$siret;
$user_rs = $_POST['rs'];//$rs;
$user_adr = $_POST['adr'];//$adr;
$user_cp = $_POST['cp'];//$cp;
$user_ville = $_POST['ville'];//$ville;
$user_pays = $_POST['pays'];//$pays;
$user_tel = $_POST['tel']; //$tel;
$user_site = $_POST['site'];//$site;
$user_fb = $_POST['fb']; //$fb;
$user_valide = 0;

$stmt->execute();

Si quelqu'un voyait ce que je ne vois pas ...
A voir également:

5 réponses

ljm972 Messages postés 254 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 6 décembre 2021 29
16 avril 2014 à 23:30
Bonjour,
Peut-être que tu devrais faire un test sur les variable $_POST, s'il n'y a pas une entré nulle
0