Problème pdo php

salut,aider moi SVP
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in (......)

1 réponse

  1. Modérateur
    Bonjour,

    Sans voir ton code on ne pourra pas t'aider précisément....
    Mais bon.. le message est pourtant assez clair !
    Le nombre de variables envoyées dans le execute() ne correspond pas au nombre de variables indiquées dans ta requête

    Exemple causant une erreur
    $sql = " SELECT * FROM maBdd WHERE  id=:id, name=:name ";
    

    Et dans le execute tu envoies :
    $datas = array(':id'=> 1 , ':name'=>50 , ':trucnondemande'=>'fallaitpasetrela');
    

    Dans cet exemple ... la requete attend deux variables
    Dans le execute on en a passé 3
    Donc... pas le bon nombre

    1
    1. oui c résolu merci beaucoup mais il reste une autre problème:
      Erreur SQL !
      INSERT INTO etudiant (id_etudiant,id_dr,id_entite, status) VALUES ('0','','256','-1')
      Duplicate entry '0-0' for key 'PRIMARY
      0
    2. Modérateur
      @beta.aLà encore le message est on ne peut plus clair .......
      Tu as déjà un étudiant avec l'id 0
      Vu que c'est ta clé primaire.. tu ne peux pas avoir de multiples enregistrements avec la même valeur.....
      J'espère également que tu as mis cette clé en AUTO-INCREMENT
      Et dans ce cas.. il ne faut pas l'utiliser dans l'insert
      INSERT INTO etudiant (id_dr,id_entite, status) VALUES ('','256','-1')
      
      0