我如何计算我创建的mysql中的行数

时间:2013-03-05 12:54:28

标签: php 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);

我做错了什么?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您可以尝试mysql_num_rows($result)

答案 2 :(得分:0)

这将100%工作

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