2013-01-13 91 views
0

我有以下查詢在運行PHP:MySQL的SUM查詢問題PHP的

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

但是當我回到$ticketTotal,我得到Resource id #33,當我轉儲變量,我得到resource(33) of type (mysql result)。當我在phpMyAdmin中運行完全相同的查詢時,我得到了正確的結果。我似乎無法在谷歌上找到很多。到底是怎麼回事?

在此先感謝您的幫助。

回答

1

$ticketTotal不包含您的查詢結果。你仍然必須實際獲取它們。

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

Please, don't use mysql_* functions in new code。他們不再維護and are officially deprecated。查看red box?請改爲了解prepared statements,並使用PDOMySQLi - this article將幫助您決定哪個。如果您選擇PDO,here is a good tutorial

+0

那麼是否有更簡單的方法來更新一箇舊的應用程序,該應用程序在大約200個不同的文件上運行大約5k個查詢? – lampwins

+1

是的,它被稱爲「sed」。 – jmkeyes

0

如果你不使用PHP5.5.0,那麼你可以使用下面的方法,因爲mysql_result被deprecreated爲PHP5.5.0

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

您可以使用此解決方案:

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

我已經測試過我的代碼,它工作正常。