Petite erreur dans ma requete

Résolu
flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -  
flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -
bonjour a tous
j ai une petite erreur dans ma requête
je ne comprends pas bien ce qui ce passe cette fois

pourtant j ai bien suivi l exemple
 $sql = "SELECT * FROM utilisateur WHERE pseudo = ? ";
//je n ai pas de variable donc c est NULL

$datas = NULL;
// ------------------------------ //
// CETTE PARTIE DU CODE NE CHANGE PAS //
try{
  $requete = $pdo -> prepare($sql) ;
  $requete->execute($datas) ;
}catch(Exception $e){
  // en cas d'erreur :
   echo " Erreur ! ".$e->getMessage();
   echo " Les datas : " ;
  print_r($datas);
}



j ai toute une série de message d erreur

7 réponses

  1. Utilisateur anonyme
     
    Bonjour,

    Si tu as une erreur, il serait peut-être utile de nous la donner aussi.
    Et ta variable
    $pdo
    elle contient quoi ? Donne l'ensemble des fichiers qui peuvent permettre de comprendre ton problème.
    1
  2. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    bonjour
    merci pour la reponse
    la variable $pdo est ma connexion

    voici l erreur qui me reste

    Invalid parameter number: no parameters were bound Les datas :
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Tu n'as rien mis dans datas
      0
    2. Utilisateur anonyme
       
      Me dire que $pdo contient un truc ne m'aide pas à voir s'il y a une erreur dans ce truc.
      Mais ce n'est pas lié au message d'erreur.

      Dans ta requête SQL tu as mis un token de substitution (point d'interrogation). Mais il faut ensuite dire à PDO par quoi remplacer ce token.
      $requete->bindValue(1, "valeur de remplacement"); 

      1 correspond à la position des token dans ta requête. Le 1er point d'interrogation sera le 1.
      https://www.php.net/manual/fr/pdostatement.bindvalue.php#example-1022
      0
  3. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    merci pour la reponse jordane
    cela je l avais bien remarque

    mais que mettre dans mes datas puisque je n ai pas de variable
    lorsque j ai un insert c est facile ...
    0
    1. Utilisateur anonyme
       
      Si tu fais un SELECT avec un WHERE, c'est que tu recherches une correspondance précise. Donc dans le cas présent, tu cherches une ligne dans ta BDD qui contient le pseudo et tu récupères toutes les infos associées.

      Si tu veux tous les utilisateurs, il ne faut pas mettre de "WHERE". Tu vas ainsi récupérer la liste complète.
      0
    2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Tu as bien une variable puisque dans ton verre tu mets une condition...
      WHERE pseudo = ?
      0
      1. Utilisateur anonyme > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Hello Jordane, ta reconnaissance vocale a des problèmes avec la boisson. Mais ça illumine ma journée :D.
        0
      2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > Utilisateur anonyme
         
        Oula..oui.
        Google picole plus que moi visiblement
        0
  4. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    merci pour la reponse
    et surtout l aide et le morceau de code

    je suis occuppe a relire mon code et je ne comprends plus ...
    pourquoi j avais besoin de trouver un pseudo

    je vais laisser en suspend
    le temps que je regarde cela de plus près
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    merci jordane
    même si je n ai plus besoin de ce morceau de code je souhaiterais savoir ce que j aurais du faire

    donc je reprends ton exemple
    car c est bien une variable pseudo que je cherchais

    //préparation de la requête et des variables
     $sql = "SELECT * FROM utilisateur WHERE pseudo = ? ";
    
    $datas = array($pseudo);
    
    //Execution de la requete
    try{
      $requete = $bdd -> prepare($sql) ;
      $requete->execute($datas) ;
    }catch(Exception $e){
      // en cas d'erreur :
       echo " Erreur ! ".$e->getMessage();
       echo " Les datas : " ;
      print_r($datas);
    }
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Oui
      0
  7. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    c était la bonne réponse jordane?
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      oui
      0
  8. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    ah super merci jordane
    au moins a présent j ai presque toute les possibilités en exemple
    0