Problème pdo php

beta.a Messages postés 31 Statut Membre -  
jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   -
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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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. beta.a Messages postés 31 Statut Membre
       
      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
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > beta.a Messages postés 31 Statut Membre
         
        Là 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