Retrieve the value of a COUNT(*) in a PHP variable

Solved
Dobby85 Posted messages 17 Status Member -  
Dobby85 Posted messages 17 Status Member -
Hello everyone,

So here is my problem, I am trying to get the number of rows in my database using count(*). I've searched on several sites but none provided a solution to my problem...

I know I need to alias the count:

SELECT COUNT(*) AS total FROM forum

But after that, I don't know how to retrieve the value and display it on the website.

If anyone knows how to retrieve the value of a count(*) into a PHP variable, I would appreciate it if you could let me know.

Dobby85 :)

8 answers

  1. Panoramix. Posted messages 3051 Status Member 1 098
     
    Hello,

    You can proceed like this:
     <?php // Generating the SQL query $SELECT_COUNT = "SELECT COUNT(*) AS total FROM forum"; $result = MYSQL_QUERY($SELECT_COUNT) OR DIE(); $count = MYSQL_FETCH_ASSOC($result); // Displaying the result ECHO 'The total is '.$count['total']; ?> 


    There you go!
    0
    1. Anonymous user
       
      Good evening

      A small oversight...
      $result = MYSQL_QUERY($SELECT_COUNT) OR DIE();
      0
    2. Panoramix. Posted messages 3051 Status Member 1 098
       
      It's fixed, thank you :)
      0
  2. Dobby85 Posted messages 17 Status Member
     
    I copied and pasted your code, making sure to use the correct variables, but nothing is displaying; it doesn’t even read the echo... In fact, it enters the DIE at the line:

    $result = MYSQL_QUERY($SELECT_COUNT) OR DIE();

    So it doesn't read what's next...

    Do you have a solution?

    Dobby85 :)
    0
  3. Anonymous user
     
    In my opinion, you are missing the code to connect to the database.
    To check:
    $result = MYSQL_QUERY($SELECT_COUNT) OR DIE(mysql_error()); 


    If this is indeed the problem, I recommend following tutorials (for example on the site du zéro) to get started with using mysql with PHP, as you need comprehensive training, not just a simple push.
    0
  4. Dobby85 Posted messages 17 Status Member
     
    I've already read the entire book on PHP and MySQL from Site du Zéro... And I can connect to the database, but I just want to retrieve a numeric value into a variable...

    And the:
    OR DIE (mysql_error());
    doesn't display anything, I know it goes inside but it doesn't show anything... :(
    I've seen on other sites that you should alias the count(*):
    SELECT COUNT(*) AS total FROM forum
    and that the result is in total, but I can't retrieve this result...

    Thanks in advance

    Dobby85:)
    0
  5. Anonymous user
     
    If the OR DIE (mysql_error()); does not display anything and the following echo doesn't either, then this part of the code is not being executed.
    I know it enters here but it doesn't show anything..
    How do you know it enters here? I mean: what do you do to make sure? Because displaying a result from a query, COUNT() or not COUNT(), is still basic.

    Can you share your code (without passwords of course) so we can understand?
    0
  6. Dobby85 Posted messages 17 Status Member
     
    ```php I know it goes inside because instead of using mysql_error() I wrote a word and it was displayed afterwards. That's exactly what annoys me, I suspect it's super simple but I can't find it!! :(

    Here is my code :

    <?php
    try
    {
    $bdd = new PDO('mysql:host=sql.franceserv.fr;dbname=mabase', 'identifiant', 'mot_de_passe');
    }
    catch (Exception $e)
    {
    die('Error: ' . $e->getMessage());
    }

    // Generating the SQL query
    $SELECT_COUNT = $bdd->query("SELECT COUNT(*) AS total FROM forum");
    $result = MYSQL_QUERY($SELECT_COUNT) OR DIE(mysql_error());
    $count = MYSQL_FETCH_ASSOC($result);
    // Displaying the result
    echo 'The total is ' . $count['total'] .'';

    And this code doesn't display anything, it goes into mysql_error()...

    Thank you for your responses!

    Dobby85:) ```
    0
  7. Anonymous user
     
    You must have misread the book from the Site du Zéro on PHP and MySQL.
    Your code mixes two ways of accessing a database: PDO and the "classic" functions. If you copied Panoramix’s code without realizing the problem, it means you’ve probably never written a single line of MySQL yourself. This is not a complaint; everyone has to start somewhere...
    Here is the PDO version that I recommend you use. Your connection is in PDO, which is convenient.
    <?php // Generating the SQL query $SELECT_COUNT = "SELECT COUNT(*) AS total FROM forum"; $result = $bdd->query($SELECT_COUNT); $count = $result->fetch(PDO::FETCH_ASSOC); // Displaying the result ECHO 'The total is '.$count['total']; ?> 
    0
  8. Dobby85 Posted messages 17 Status Member
     
    Thank you very much, indeed, that's one thing I didn't understand, the different ways to connect... And I still don't understand, but that's okay, it works perfectly and I thank you greatly because I've been searching for this for a long time!!! :)

    Thank you very much!

    Dobby85:)
    0