Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur de commande SQL sur selecteur count (*)

Sujet résolu
    16 août 2018 à 12:25:46

    Bonjour, :honte:

    Je n'arrive pas à obtenir le nombre d'entrée dans ma base.

    Quand j'utilise la commande COUNT on m'affiche "Array"

    Voici ce que j'utilise comme commande :

    <?php $req= $bdd->query('SELECT COUNT(*) FROM `braderie`');
          $donnees = $req ->fetch();
          echo $donnees;
    ?>

    Naturellement je me connecte avant à la base ;)

    Une idée de mon erreur pour m'aider ? Merci

    Loïc F

    • Partager sur Facebook
    • Partager sur Twitter
    Webfun35
      16 août 2018 à 12:30:44

      Hello :) c'est normal :) fais un var_dump($donnees) au lieu d'un echo, tu comprendras

      -
      Edité par Caroline B. 16 août 2018 à 12:31:11

      • Partager sur Facebook
      • Partager sur Twitter
      Google répond à tout, PHP Manual sait (presque) tout, StackOverflow envisage tout !
        16 août 2018 à 12:30:57

        Bonjour,

        et si tu fais un var_dump au lieu d'un echo, qu'est-ce que ça affiche ?

        • Partager sur Facebook
        • Partager sur Twitter

        Pas d'aide concernant le code par MP, le forum est là pour ça :)

          16 août 2018 à 12:32:28

          Salut !

          fetch() retourne par défaut un tableau. Je pense que ce qui te serait pratique serait plutôt fetchColumn(), qui prend directement un élément du tableau qui serait retourné par fetch() — et par défaut fetchColumn() prend évidemment le premier élément.

          Edit

          Qui aurait pensé que ceci serait encore d'actualité après tant de temps ?  ^^

          -
          Edité par Ymox 16 août 2018 à 12:33:21

          • Partager sur Facebook
          • Partager sur Twitter
            16 août 2018 à 21:01:25

            Bonsoir à tous et merci d'avoir pris le temps de me répondre.

            Vous me guidiez vers un var_dump.

            J'ai donc testé

            <?php $req= $bdd->query('SELECT COUNT(*) FROM `braderie`');
                  $donnees = $req ->fetch();
                  var_dump($donnees);
            ?>

            et ça m'affiche comme résultat

            array(2) { ["COUNT(*)"]=> string(2) "31" [0]=> string(2) "31" }

            J'ai essayé ta solution Ymox

            <?php $req= $bdd->query('SELECT COUNT(*) FROM `braderie`');
                  $donnees = $req ->fetchColumn();
                  var_dump($donnees);
            ?>

            et j'ai ça comme résultat

            string(2) "31" (ce qui est mieux que mon résultat précédent)

            J'ai donc fais un mix des deux et surtout essayé de bien comprendre le fonctionnement et écrit:

            <?php $req= $bdd->query('SELECT COUNT(*) FROM `braderie`');
                  $donnees = $req ->fetchColumn();
                  echo $donnees;
            ?>

            Et du coup j'ai eu ce que je souhaitai !

            A savoir le chiffre du nombre d'entrée de ma base !

            Merci à vous tous: Caroline B. ; Lamecarlate ; Ymox !

            Et pour ton petit "Edit" Ymox... Il y a encore des jeunes (37ans tout de même) apprentis codeurs :lol:

            -
            Edité par Webfun35 16 août 2018 à 21:18:27

            • Partager sur Facebook
            • Partager sur Twitter
            Webfun35
              16 août 2018 à 21:11:27

              Bonjour,

              Je pense qu'on t'a déjà répondu, c'est comme ça que fetch() fonctionne, donc il faut le "parcourir". C'est dans tous les tutos.

              Mais de toute façon il faut penser à donner un alias à ton count(), c'est nettement plus clair et la plupart du temps indispensable :

              <?php $req= $bdd->query('SELECT COUNT(*) AS nb FROM `braderie`');

              Comme ça tu pourras récupérer :

              $donnees['nb'];




              • Partager sur Facebook
              • Partager sur Twitter
                16 août 2018 à 21:21:43

                Merci philodick

                Toujours présent pour moi c'est très sympa de ta part !

                C'est résolu à présent mais je garde ta solution qui parait plus simple. ;)

                • Partager sur Facebook
                • Partager sur Twitter
                Webfun35

                Erreur de commande SQL sur selecteur count (*)

                × 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