Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur de débutant introuvable !

Fatal error: Cannot use object of type PDOStatement as array

Sujet résolu
    16 août 2018 à 10:52:07

    Bonjour à tous,

    Je commence un nouveau projet et pour vérifier que tout fonctionne bien au niveau de ma bdd je fait une requête sql la plus simple possible.. et ça ne veut pas fonctionner !

    Je m'en remets à vous car j'ai tout essayé et déjà fouillé le net !

    <?php 
    
    $bdd = new PDO('mysql:host=localhost;dbname=testld;charset=utf8', 'root', '');
    
    
    $reponse = $bdd->query('SELECT * FROM users');
    
    $reponse->fetch();
    
    echo $reponse['ID'];
    
    ?>

    l'erreur affichée : 

    Fatal error: Cannot use object of type PDOStatement as array

    Merci d'avance pour votre aide !

    -
    Edité par RémiBr 16 août 2018 à 10:53:10

    • Partager sur Facebook
    • Partager sur Twitter
    if (code = pas là) { ordi.createCode(); }
      16 août 2018 à 10:56:01

      Salut !

      Comme le dit l'erreur, tu tentes d'utiliser un objet PDOStatement comme si c'était un tableau. C'est ce que te retourne PDOStatement::fetch qui en est un. Il te manque donc une variable qui te servira à récupérer ce résultat, et c'est elle qui te permettra de faire l'affichage.

      • Partager sur Facebook
      • Partager sur Twitter
        16 août 2018 à 10:57:09

        Tu utilise un objet bdd en tant que array. Lors de l'usage de ta fonction Fetch() crée une boucle while 
        while ($donnees = $reponse->fetch())
        {
        echo $donnees['ID'];
        };

        -
        Edité par LenX1s 17 août 2018 à 9:30:47

        • Partager sur Facebook
        • Partager sur Twitter
        Google est beau et gentils il vous donnera toujours tout si vous lui demandé gentiment comme ceci
          16 août 2018 à 11:07:30

          Aaahhh il faut utiliser une autre variable !! J'avais jamais remarqué cette petite subtilité ! Un grand merci à vous deux !
          • Partager sur Facebook
          • Partager sur Twitter
          if (code = pas là) { ordi.createCode(); }

          Erreur de débutant introuvable !

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown