gpt4 book ai didi

php - Mysql 使用 while 循环选择最后 20 行

转载 作者:行者123 更新时间:2023-11-30 00:04:51 24 4
gpt4 key购买 nike

我有 50 多行,每行都有一个 id,我如何获取最后 20 条记录并用 php 显示每条信息。

使用循环是最好的方法吗?我希望它能够快速显示结果并且不会错过任何行,那么循环是最好的方法吗?

这是我的代码

$result = $mysqli_log->query("SELECT * FROM `$usern`");     
while( $row = $result->fetch_array() ) {
$credit = $row['credit'];
echo $credit;
}

最佳答案

正在执行的 MySQL 查询没有为行指定任何“顺序”; MySQL 可以按照它选择的任何顺序返回行,因此一次查询运行中的“最后 20”行可能与第二次运行中的“最后 20”行不同。

(重新执行语句时,我们确实观察到重复的行为;通常需要一些 DML 操作、添加索引或 OPTIMIZE 表语句,才能真正改变返回的结果...但是重点是,表中没有“最后 20”行。在 MySQL 中,它只是一组行。)

要指定特定的行顺序,请向查询添加 ORDER BY 子句。假设您想要使用唯一的 id 列对行进行排序,并且需要最后 20 行,并且希望它们以升序 id 顺序返回:

SELECT t.*
FROM ( SELECT u.*
FROM `$usern` u
ORDER BY u.id DESC
LIMIT 20
) t
ORDER BY t.id

是的,在 PHP 中“循环”处理行,就像您演示的那样,是一种规范模式。

关于php - Mysql 使用 while 循环选择最后 20 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24662506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com