首页 > 后端开发 > php教程 > 如何使用 PHP 准确统计 MySQL 行数?

如何使用 PHP 准确统计 MySQL 行数?

Linda Hamilton
发布: 2024-12-06 19:03:12
原创
814 人浏览过

How to Accurately Count MySQL Rows Using PHP?

如何使用 PHP 从 MySQL 表中检索精确的行数

获取 MySQL 表中的行数是一项常见任务数据库处理。 PHP 为此提供了多种选项,特别是对于那些喜欢过程代码的人。

错误:

一个常见错误是获取单词“Array”而不是数字。当使用返回关联数组的 mysqli_fetch_assoc() 时会发生这种情况。

解决方案 1:使用数组索引

要解决此问题,请访问与列名对应的数组索引。例如:

$count = mysqli_fetch_assoc($result)['COUNT(*)'];
登录后复制

解决方案 2:使用列别名

或者,您可以在 SQL 查询中为 count 列指定别名:

$sql = "SELECT COUNT(*) AS cnt FROM news";
$count = mysqli_fetch_assoc($result)['cnt'];
登录后复制

解决方案 3:使用数值数组

另一个选项是使用 mysqli_fetch_row() 检索数值数组:

$count = mysqli_fetch_row($result)[0];
登录后复制

PHP 8.1 优化

如果使用PHP 8.1 或更高版本,您可以简化操作:

$count = mysqli_fetch_column($result);
登录后复制

避免使用 mysqli_num_rows

虽然使用 mysqli_num_rows 看起来很诱人,但此函数有很大的限制,应该避免用于计算行数。

面向对象编程方法

对于那些喜欢面向对象编程的人,相同的代码可以编写为:

$count = $con->query($sql)->fetch_row()[0];
登录后复制

准备语句

当使用带有变量的查询时,您应该使用准备好的语句来提高安全性和效率:

$stmt = $con->prepare("SELECT COUNT(*) FROM news WHERE category=?");
$stmt->bind_param('s', $category);
$stmt->execute();
$count = $stmt->get_result()->fetch_row()[0];
登录后复制

以上是如何使用 PHP 准确统计 MySQL 行数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板