首页 >后端开发 >php教程 >为什么 MySQLi 的 num_rows 在计算行数时返回 1?

为什么 MySQLi 的 num_rows 在计算行数时返回 1?

DDD
DDD原创
2024-11-08 09:55:02350浏览

Why Does MySQLi's `num_rows` Return 1 When Counting Rows?

暴露 MySQLi 行计数中的缺陷

为了确定表的行数,已实现了一个代码片段:

$result = $db->query("SELECT COUNT(*) FROM `table`;");
$count = $result->num_rows;

但是,无论表中的实际行数如何,计数值始终保持为 1。

经过进一步调试,问题变得明显:执行的查询返回一个计数值存储在第一列中的单个记录。因此,要访问结果,必须检索记录:

$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];

即使通过 phpMyAdmin 执行查询,这种方法也能保证表中正确的行数。

以上是为什么 MySQLi 的 num_rows 在计算行数时返回 1?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn