2013-03-05 53 views
0

如何計算我創建的mysql中的行數。如何計算我創建的mysql中的行數

這是我的發言

(
"SELECT COUNT(ct.title) 
FROM exp_channel_titles as ct 
LEFT JOIN exp_channel_data as cd on (ct.entry_id = cd.entry_id) 
where ct.channel_id=1 
and ct.status= 'open' 
Group by ct.entry_id 
"); 

當我print_r的這一說法,它給了我這樣的輸出:

CI_DB_mysql_result Object ([conn_id] => Resource id #9 [result_id] => Resource id #173 [result_array] => Array () [result_object] => Array () [current_row] => 0 [num_rows] => 135 [row_data] =>) 

但我只想數量135出

我就是這樣嘗試過,但我不工作,我不明白爲什麼?

$result = mysql_query($resultsofRestaurants); 
$count = mysql_fetch_array($result); 
print_r($count); 

我在做什麼錯?

+0

你運行在phpMyAdmin或您的其他SQL客戶端查詢時得到了什麼? – lvil 2013-03-05 12:58:35

+0

剛剛更新了我的問題:D – Zaz 2013-03-05 13:02:27

+0

這不能是真正的代碼。傳統的棄用擴展不會生成類「CI_DB_mysql_result」的對象。你使用CodeIgniter或類似的東西? – 2013-03-05 13:12:52

回答

0

你現在正在做的是你正在計數ct.entry_id這將給你至少1每行的價值。您需要計數cd.entry_id而不是ct.entry_id

SELECT COUNT(cd.entry_id) 
FROM exp_channel_titles as ct 
     LEFT JOIN exp_channel_data as cd 
      ON ct.entry_id = cd.entry_id 
WHERE ct.channel_id=1 AND 
     ct.status= 'open' 
GROUP BY ct.entry_id 
+0

剛剛更新了我的問題:D – Zaz 2013-03-05 13:03:02

0

這將100%工作

$rows= mysql_num_rows(mysql_query("YOUR SQL QUERY"));