IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Erreur dans l'envoi de requête pour un questionnaire.


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    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 : 2
    Points
    2
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    "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.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    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+.

  3. #3
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    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 : 2
    Points
    2
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur dans l'envoi d'un email
    Par Wnejla dans le forum CodeIgniter
    Réponses: 0
    Dernier message: 05/01/2014, 12h32
  2. erreur dans l'envoi du formulaire de contact
    Par vincent69170 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 16/04/2013, 11h51
  3. Réponses: 1
    Dernier message: 01/03/2011, 12h24
  4. Réponses: 8
    Dernier message: 10/05/2009, 18h21
  5. [VBA] Erreur dans une requête
    Par Damsou dans le forum Access
    Réponses: 31
    Dernier message: 21/06/2005, 17h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo