Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 14/12/2012, 12h05   #1
benrudent
Invité de passage
 
Étudiant
Inscription : août 2012
Messages : 2
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2012
Messages : 2
Points : 1
Points : 1
Par défaut Erreur dans l'envoi de requête pour un questionnaire.

Bonjour,

j'ai un problème étriqué.
J'ai du code qui en local marche tout à fait, mais qui une fois en ligne m'indique un bon gros message d'erreur.
Voici le code d'envoi de la requête.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
 if(!$rep_client){
		$sql = 'INSERT INTO `tablreponse`(`MSISDN`, `dateReponse`, `Q1`, `Q1b`, `Q2`, `Q2b`, `Q3`, `Q3b`, `Q7`, `Q7b`, `Q5`, `Q5b`, `Q6`, `Q6b`, `Q4a`, `Q4b`, `Q4c`, `Q4d`, `Q8`, `Q8b`,`Q9`, `Q9b`, `Q10`, `Q10b`,`Q11`, `Q11b`, `Q12`) VALUES (:MSISDN, now(), :Q1, :Q1b, :Q2, :Q2b, :Q3, :Q3b, :Q4, :Q4b, :Q5, :Q5b, :Q6, :Q6b, :Q7, :Q7b, :Q8, :Q8b, :Q9, :Q9b, :Q10, :Q10b, :Q11, :Q11b, :Q12)';
	}else{
		$sql = 'UPDATE `tablreponse` SET `dateReponse`=now(),`Q1`= :Q1,`Q1b`= :Q1b,`Q2`= :Q2,`Q2b`= :Q2b,`Q3`= :Q3,`Q3b`= :Q3b,`Q7`= :Q7,`Q7b`= :Q7b,`Q5`= :Q5,`Q5b`= :Q5b,`Q6`= :Q6,`Q6b`= :Q6b,`Q4a`= :Q4a,`Q4b`= :Q4b,`Q4c`= :Q4c,`Q4d`= :Q4d,`Q8`= :Q8,`Q8b`= :Q8b,`Q9`= :Q9,`Q9b`= :Q9b,`Q10`= :Q10,`Q10b`= :Q10b,`Q11`= :Q11,`Q11b`= :Q11b,`Q12`= :Q12 WHERE MSISDN=:MSISDN';
	}
 
	$reqinfos = $db->prepare($sql);
 	$reqinfos->execute(array(
		'MSISDN' 		=> $MSISDN,
		'Q1'  			=> $Q1,
		'Q1b' 			=> $Q1b,
		'Q2'  			=> $Q2,
		'Q2b' 			=> $Q2b,
		'Q3'  			=> $Q3,
		'Q3b' 			=> $Q3b,
		'Q7'  			=> $Q7,
		'Q7b' 			=> $Q7b,
		'Q5'  			=> $Q5,
		'Q5b' 			=> $Q5b,
		'Q6'  			=> $Q6,
		'Q6b' 			=> $Q6b,
		'Q4a'  			=> $Q4a,
		'Q4b' 			=> $Q4b,
		'Q4c' 			=> $Q4c,
		'Q4d' 			=> $Q4d,
		'Q8'  			=> $Q8,
		'Q8b' 			=> $Q8b,
		'Q9'  			=> $Q9,
		'Q9b' 			=> $Q9b,
		'Q10'  			=> $Q10,
		'Q10b' 			=> $Q10b,
		'Q11'  			=> $Q11,
		'Q11b' 			=> $Q11b,
		'Q12'  			=> $Q12));
Et ça met
Citation:
"Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' in /homez.91/labis/satcli/cible.php:122 Stack trace: #0 /homez.91/labis/satcli/cible.php(122): PDOStatement->execute(Array) #1 {main} thrown in /homez.91/labis/satcli/cible.php on line 122"
comme erreur. la ligne 122 étant la dernière.

J'ai regardé si il n'y a pas un espace en trop ou une parenthèse ou une apostrophe sans succès.
Merci d'avance à ceux qui se pencheront sur mon problème.
benrudent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2012, 13h14   #2
andry.aime
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 6 334
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 6 334
Points : 9 923
Points : 9 923
Bonjour,

Compare le nombre de paramètre dans la requête d'insert et/ou update avec le nombre de paramètre dans l'array dans la méthode execute.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2012, 14h38   #3
benrudent
Invité de passage
 
Étudiant
Inscription : août 2012
Messages : 2
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2012
Messages : 2
Points : 1
Points : 1
Ce que je ne comprends alors c'est pourquoi ça marche le local.
J'ai changé l'insert pour être comme il faut, mais je ne sais pas quoi mettre après l'array pour la dateReponse: dans l'insert/update je met que 'dateReponse'= now() mais apres...

Merci de te pencher sur mon problème.
benrudent est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 13h53.


 
 
 
 
Partenaires

Hébergement Web