Erreur : Warning: PDOStatement::execute(): SQLSTATE[HY093]
cricri2394
Messages postés
150
Date d'inscription
Statut
Membre
Dernière intervention
-
cricri2394 Messages postés 150 Date d'inscription Statut Membre Dernière intervention -
cricri2394 Messages postés 150 Date d'inscription Statut Membre Dernière intervention -
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 :
J'ai la même requête au dessus qui elle fonctionne parfaitement par contre
Si quelqu'un voyait ce que je ne vois pas ...
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 ...
5 réponses
Bonjour,
Peut-être que tu devrais faire un test sur les variable $_POST, s'il n'y a pas une entré nulle
Peut-être que tu devrais faire un test sur les variable $_POST, s'il n'y a pas une entré nulle
Hello, merci pour ta réponse rapide.
J'ai testé et mes post sont bien renseignés.
Je vais essayer sans la transaction pdo pour voir.
J'ai testé et mes post sont bien renseignés.
Je vais essayer sans la transaction pdo pour voir.
Hello,
voici la fonction
voici la fonction
function nouv_id($conn,$table){
switch($table){ // en fonction de la table, on tape là ou il faut pour trouver le nouvel id
case 'user' : // on tape dans user
$req_nouvId = "select user_id
from wedding_user
order by user_id desc limit 0,1;";
$chp = "user_id";
break;
case 'boutique' : // on tape dans boutique
$req_nouvId = "select boutique_id
from wedding_presta_boutique
order by boutique_id desc limit 0,1;";
$chp = "boutique_id";
break;
}//end switch
$res = $conn->query($req_nouvId)
->fetchAll(PDO::FETCH_ASSOC);
if(count($res) == 0){
$nouvId = 1;
}else{ //var_dump($res);
$id = $res[0][$chp];
$nouvId = $id+1;
}
//die($nouvId);
return $nouvId;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question