0

如何计算我创建的 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);

我究竟做错了什么?

4

3 回答 3

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
于 2013-03-05T12:55:27.500 回答
0

你可以试试mysql_num_rows($result)

于 2013-03-05T12:56:32.953 回答
0

这将 100% 有效

$rows= mysql_num_rows(mysql_query("YOUR SQL QUERY"));
于 2013-03-05T13:22:14.360 回答