【问题标题】:Is there a difference between mysqli_num_rows and select count(*) [duplicate]mysqli_num_rows 和 select count(*) 之间有区别吗?
【发布时间】:2016-12-23 02:25:19
【问题描述】:

有时我想在查询中获取结果的数量,我经常使用 mysqli_num_rows 来做到这一点,例如:

$count = mysqli_query($this->db,"SELECT * FROM `test`");
return mysqli_num_rows($count);

有计数:

$count = mysqli_query($this->db, "SELECT COUNT(*) as cnt FROM test");
$row = mysqli_fetch_assoc($count);
return $row['cnt'];

这两种获取返回行数的方法有什么区别吗?

【问题讨论】:

    标签: sql mysqli


    【解决方案1】:

    是的。

    前一种永远不要使用,因为它会从数据库中选择所有的表数据并将其发送到PHP,在这个过程中阻塞服务器。

    当后者选择并发送单个号码时。

    【讨论】:

    • 好的,第二个在速度上更快。
    • @Piqka 不仅更快;它也更安全。如果您尝试将mysqli_num_rows() 与大表一起使用,您可能会导致服务器崩溃
    猜你喜欢
    • 2017-12-19
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 2010-09-17
    • 2012-02-16
    • 1970-01-01
    相关资源
    最近更新 更多