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中文网其他相关文章!