首页 >数据库 >mysql教程 >为什么我的 MySQLi `COUNT(*)` 查询总是返回 1?

为什么我的 MySQLi `COUNT(*)` 查询总是返回 1?

Linda Hamilton
Linda Hamilton原创
2024-12-04 01:04:10497浏览

Why Does My MySQLi `COUNT(*)` Query Always Return 1?

MySQLi Count(*) 始终返回 1:解释

当遇到 MySQLi 的 count(*) 始终返回 1 的问题时,了解查询不会直接将计数作为值返回这一点至关重要。相反,它返回一个结果集,其中包含一条记录,并将计数作为其数据。

要访问实际计数,您需要从结果集中获取该记录。以下代码片段演示了如何执行此操作:

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

通过获取结果集的第一行,您可以检索第一个元素包含计数值的数组。这提供了正确的结果,这与 phpMyAdmin 中获得的结果不同,在 phpMyAdmin 中,计数直接显示在查询结果中。

记住,MySQLi 的 num_rows 属性提供了插入、更新或删除时受影响的行数运营。它不适合在选择查询中检索计数值。

以上是为什么我的 MySQLi `COUNT(*)` 查询总是返回 1?的详细内容。更多信息请关注PHP中文网其他相关文章!

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