Page 1 sur 1

erreur dans Requete SQL(PDO)

Posté : 21 févr. 2014, 15:23
par jmtrivia
Bonjour à toutes et tous,
je rencontre une erreur "Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in"
J'ai vérifié et re vérifié les paramètres, je ne vois pas pourquoi ce message. J'ai donc besoin de votre aide ;-) Ci dessous mon code, d'avance merci.

Code : Tout sélectionner

$req=$bdd->prepare('INSERT INTO prospects (prosp_nom, prosp_courriel, prosp_telephone, prosp_activite, prosp_message, prosp_qualite, prosp_datecreation) VALUES (:nom, :courriel, :telephone, :activite, :message, :qualite, :datecreation)'); $req->execute(array( 'prosp_nom' => $nom, 'prosp_courriel' => $courriel, 'prosp_telephone' => $telephone, 'prosp_activite' => $activite, 'prosp_message' => $message, 'prosp_qualite' => $qualite, 'prosp_datecreation' => $datecreation ));

Re: erreur dans Requete SQL(PDO)

Posté : 21 févr. 2014, 17:03
par Mazarini
mettre :nom et non pas prosp_nom dans l'array des paramètres.
Idem pour les autres paramètres.

Re: erreur dans Requete SQL(PDO)

Posté : 21 févr. 2014, 17:33
par jmtrivia
Merci beaucoup pour votre réponse.
Effectivement, je n'ai plus d'erreur PDO, mais un problème subsiste : Rien n'est enregistré dans la base !
Voici le code après correction. En tout cas concernant l'erreur PDO on peut clore le sujet.
<?php
$req=$bdd->prepare('INSERT INTO prospects (prosp_nom, prosp_courriel, prosp_telephone, prosp_activite, prosp_message, prosp_qualite, prosp_datecreation) 
																																 VALUES (:nom, :courriel, :telephone, :activite, :message, :qualite, :datecreation)');
 $req->execute(array(
	':nom' => $nom,
	':courriel' => $courriel,
	':telephone' => $telephone,
	':activite' => $activite,
	':message' => $message,
	':qualite' => $qualite,
	':datecreation' => $datecreation ));

Re: erreur dans Requete SQL(PDO)

Posté : 22 févr. 2014, 15:02
par moogli
salut,

récupère le retour de la méthode execute.
si === false affiche ce qu'il y a dans le tableau fournit par $req->error_info() ou $bdd->error_info()


@+