【发布时间】:2021-04-17 11:15:53
【问题描述】:
我正在尝试显示数据库表中 6 列的列表。该表恰好有超过 30,000 条记录。我过去使用的方法有效,但这次列表以 10,939 条记录结尾,除非我在行中添加 LIMIT 子句,否则根本不会显示。
表名是 phpbb_users,我排序的列是用户名。目标是显示每个人的列表,显示大约 8 个其他数据字段。 如果我使用此代码:
$sql = "SELECT * FROM phpbb_users ORDER BY username";
$result = $conn->query($sql);
然后按照通常的 while ($row = $result->fetch_assoc()) 内容显示查询失败的每一行并且不显示任何列表。
如果我将代码更改为:
$sql = "SELECT * FROM phpbb_users ORDER BY username LIMIT 10000";
列表出现,但仅显示前 10,000 条记录。
在 MySQLi SELECT 查询中可以读取多少条记录是否有某种限制?我在运行 PHP 5.6 和 MySQL 时没有遇到这个问题,但我刚刚升级到 PHP 7.2 和 MySQLi,新代码的工作方式不同。
【问题讨论】:
-
使用分页。
-
使用分页,谁真的会在网页上查看 10,000+ 行
-
我怀疑它完全没有声音。因此,与其问“有什么东西,那个……”,不如去弄清楚实际的错误是什么。
-
很高兴知道错误消息,您是否检查过错误日志中的错误消息
-
然后查看实际错误发生位置的代码会很有用。我最初的赌注是内存限制