MySQL SUM query problems php

2019-03-06 00:55发布

问题:

I have the following query running in PHP:

$ticketTotal = mysql_query("SELECT SUM(`tickets_issued`) FROM `tb_att_registered_attendants` WHERE `confirmation_code`!='000000'");

But when I return $ticketTotal, I get Resource id #33 and when I dump the variable, I get resource(33) of type (mysql result). When I run the exact same query in phpMyAdmin, I get the correct result. I can't seem to find much on google. What is going on?

Thanks in advance for any help.

回答1:

$ticketTotal doesn't hold your query results. You still have to actually fetch them.

while ($row = mysql_fetch_assoc($ticketTotal))
{
    print_r($row);
}

Please, don't use mysql_* functions in new code. They are no longer maintained and are officially deprecated. See the red box? Learn about prepared statements instead, and use PDO or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.



回答2:

If you are not using PHP5.5.0, then you can use below way, since mysql_result is deprecreated as of PHP5.5.0

$result = mysql_query("SELECT SUM(`tickets_issued`) FROM `tb_att_registered_attendants` WHERE `confirmation_code`!='000000'");
$ticketTotal = mysql_result($result,0);


回答3:

You can use this solution:

$Row = mysql_fetch_array($ticketTotal);
$sum = $Row['SUM(tickets_issued)'];

I have tested it for my code and it works properly.



标签: php mysql sum