gpt4 book ai didi

php - mysqli_fetch_assoc 是否按顺序返回数据?

转载 作者:行者123 更新时间:2023-12-01 00:49:05 24 4
gpt4 key购买 nike

我正在使用 mysqli_fetch_assoc 将数据推送到行数组中。

$res = mysqli_query($link, $query);
$rows = array();
while($r = mysqli_fetch_assoc($res)) {
$rows[] = $r;
echo "<br>location:".$r["assigned"]."||".$r["amount"]."<br>";
}

我在这个 php 文件中看到的顺序和我在 mysql 命令行上执行查询时看到的顺序不同。最后一行和倒数第二行在 php 中交换。

在 mysql 查询中,我使用了 order by timestamp 子句。

我搜索了 mysql_fetch_assoc,但没有发现任何其他人遇到过类似的问题。

最佳答案

返回给 PHP 的数据顺序是 mySQL 返回给它的顺序。

如果时间戳相同并且这是唯一的 ORDER BY 字段,那么是的,mySQL 完全有可能从同一查询给出不同的订单。

为什么它会在相同的查询之间以不同的顺序提供它们是未知的;也许是缓存中的工件或类似的东西?但最重要的一点是,如果没有指定区分记录的排序顺序,那么数据库可以自由地以它喜欢的任何顺序提供它们。

如果您真的希望它们总是以相同的顺序进入,即使存在重复,简单的答案是将您的主键字段添加到 ORDER BY 子句的末尾。 (您确实有一个唯一的主键字段,对吗?对吗??)

关于php - mysqli_fetch_assoc 是否按顺序返回数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18012579/

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