什么是PHP`mysql_query`函数返回的行数计算的尝试和真正的方法是什么?
题
我知道mysql_num_rows ( resource $result )
但我读的地方,是不是100%准确。我已经看到,实际上得到的每一行,并运行一个计数器,但听起来非常低效其他替代品。我希望看到别人做什么,以获得准确,高效的计数。
解决方案
使用mysql_num_rows()
当你这样做的SELECT
查询的情况下,SHOW
或mysql_affected_rows()
查询和INSERT, UPDATE, REPLACE or DELETE
。结果
两者都足够精确!!
其他提示
mysql_num_rows()
是准确的,只要不使用mysql_unbuffered_query()
。
如果使用的是mysql_query()
,mysql_num_rows()
是准确的。
如果您正在使用mysql_unbuffered_query()
,mysql_num_rows()
将返回错误的结果,直到所有的行都被检索。
这将有助于了解你与该行数做什么,但我想这是对的分页结果集的非常标准的应用程序。
问题两个查询。第一个是数查询所有第二的WHERE条件。第二个是用于提取的行。这是这个或装载1000行到内存中,当你只是要显示他们的10。
然而,如果你需要保证准确性,你得换两个查询在读一致的交易。否则,这种情况发生的次数和数据查询之间运行一个查询可能无效的寻呼信息。
不隶属于 StackOverflow