【发布时间】:2015-11-30 03:45:08
【问题描述】:
我有一个这样的查询:
select * from table where id <= 10 limit 5; // table has +10 rows
上述查询 ^ 的结果数为 10 行。现在我想知道,我怎样才能得到这个查询的总结果数:
select * from table where col = 'anything' limit 5;
如何计算这个^中所有结果的个数(不管limit)?
其实我想要这个号码:
select count(*) as total_number from table where col = 'anything'
现在我想知道如何在不进行其他查询的情况下获得总结果数。
【问题讨论】:
-
因为我喜欢告诉用户所有匹配结果的数量以及他看到的数字的数量,如下所示:显示第 0-5 行(共 34 行)我>
-
@Strawberry 什么?用户只是使用我的网站。实际上,我的网站类似于 google (搜索引擎)
-
@Strawberry 这个函数只计算结果的数量。因此,如果查询中有
limit,则该 PHP 函数的输出将等于或小于限制数。在这种情况下:mysqli_num_rows <= 5!虽然我需要总结果的数量,但不管limit。 -
@Strawberry 您链接的内容与我的问题不同。这个问题解释了
found_roews()的工作原理。但我想同时选择有限的数据和匹配结果的总数为无限。 -
FOUND_ROWS 返回“无限”结果集。 mysqli_num_rows 返回结果集中的行数。它肯定比下面提供的答案更快。你还需要什么?