2011-08-28 120 views
2

我想在我的頁面上顯示總註冊用戶數。我用這:顯示總註冊用戶數

<?php 
//connect to db 
require_once('connect.php'); 

$usrcnt = mysql_query("SELECT COUNT(DISTINCT ID) FROM members"); 
$res = mysql_num_rows($usrcnt); 

$cnt_mbrs = mysql_fetch_array($res); 
?> 

然後我叫我的頁面$cnt_mbrs但我得到這樣的錯誤:

mysql_num_rows():提供的參數不是一個有效的MySQL結果資源...

這是正確的我在做什麼?

+0

你並不需要添加DISTINCT如果ID是主鍵。 –

回答

3
$usrcnt = mysql_query("SELECT COUNT(*) as cnt FROM members"); 
$res = mysql_fetch_array($usrcnt); 
$cnt_mbrs = $res ['cnt'] 

更正確。

+0

我改變了別名和引用,使其更加明顯地被引用。 –

+2

使用'COUNT(*)',讓我們不要散佈虛假優化 – Crack

+0

@Crack所以COUNT(*)比COUNT(1)快還是一樣的嗎? – genesis

0

mysql_num_rows返回結果集中的行數。更改爲

$cnt_mbrs = mysql_fetch_array($usercnt); 
-1

也許出於性能考慮,它可能是最好只保留一個運行總。

是的,我知道,數據庫將不會被標準化

+0

不是答案。我沒有任何標誌,雖然 – genesis

+0

我只是在想,所採用的方法是不正確的,因爲這需要註冊用戶的數量將不得不做計數每一頁。不確定涉及的指標等。似乎是過度enginenered恕我直言。 –