PHP SQL(pdo) -> Erreur de requète execute() [Résolu/Fermé]

Signaler
Messages postés
17
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
13 juin 2014
-
Shedow12
Messages postés
17
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
13 juin 2014
-
Bonjour, je suis totalement perdu, je ne comprend pas le problème... L'erreur est :
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /***/dev.php on line 48

Et voici le code : (la ligne 48 est la fermeture de l'execute de la requète, soit )); )

$pseudo = $_SESSION['pseudo']; //
if($_POST['aspect'] != NULL AND $_POST['vitesse'] != NULL AND $_POST['facilité'] != NULL AND $_POST['améliorer'] != NULL AND $_POST['fonctions'] != NULL AND $_POST['newfonction'] != NULL AND $_POST['suggestion'] != NULL)
{
$aspect = $_POST['aspect'];
$vitesse = $_POST['vitesse'];
$facilité = $_POST['facilité'];
$améliorer = $_POST['améliorer'];
$fonctions = $_POST['fonctions'];
$newfonction = $_POST['newfonction'];
$suggestion = $_POST['suggestion'];
$req = $bdd->query('SELECT id FROM compte WHERE pseudo = "'.$pseudo.'"');
$donnees = $req->fetch();
$id = $donnees['id'];
$req = $bdd->prepare('INSERT INTO sondagesite(id, pseudo, aspect, vitesse, facilité, améliorer, fonctions, newfonction, suggestion) VALUES(:id, :pseudo, :aspect, :vitesse, :facilité, :améliorer, :fonctions, :newfonction, :suggestion)');
$req->execute(array(
'id' => $id,
'pseudo' => $pseudo,
'aspect' => $aspect,
'vitesse' => $vitesse,
'facilité' => $facilité,
'améliorer' => $améliorer,
'fonctions' => $fonctions,
'newfonction' => $newfonction,
'suggestion' => $suggestion
));

Merci de bien vouloir m'aider.. Je suis rééllement perdu.

2 réponses

Messages postés
991
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
91
Dans ton tableau de variable :
$req->execute(array(
'id' => $id,
'pseudo' => $pseudo,
...

La syntaxe ne serait-elle pas avec ":" devant le nom :
$req->execute(array(
':id' => $id,
':pseudo' => $pseudo,
...
Messages postés
17
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
13 juin 2014

Nope, mais, problème réglé (un peu tard), à cause des accents tout simplement.