gpt4 book ai didi

php - MySQL 查询结果顺序不正确

转载 作者:行者123 更新时间:2023-11-29 12:12:35 24 4
gpt4 key购买 nike

所以,我有一个文件,可以处理用户输入数字的所有内容,并且该数字用于显示 XML。这是文件的一部分:

while ($push = mysql_fetch_array($push_result)) {
$item_result = mysql_query("SELECT * FROM adva_".$push['Category']."s WHERE Id = '".$push['Id']."' ORDER BY Level");
$item = mysql_fetch_assoc($item_result);
}

所以,它应该按级别排序,但事实并非如此,这是 XML(仅包含相关信息):

<type>
<Id>2537</Id>
<Element>2</Element>
<Level>10</Level>>
</type>
<type>
<Id>2538</Id>
<Element>2</Element>
<Level>40</Level>>
</type>
<type>
<Id>2540</Id>
<Element>2</Element>
<Level>70</Level>>
</type>
<type>
<Id>2541</Id>
<Element>2</Element>
<Level>100</Level>>
</type>
<type>
<Id>2542</Id>
<Element>2</Element>
<Level>130</Level>>
</type>
<type>
<Id>2624</Id>
<Element>1</Element>
<Level>3</Level>>
</type>
<type>
<Id>2625</Id>
<Element>1</Element>
<Level>28</Level>>
</type>
<type>
<Id>2626</Id>
<Element>1</Element>
<Level>53</Level>>
</type>
<type>
<Id>2627</Id>
<Element>1</Element>
<Level>78</Level>>
</type>
<type>
<Id>2628</Id>
<Element>1</Element>
<Level>103</Level>>
</type>
<type>
<Id>2629</Id>
<Element>1</Element>
<Level>128</Level>>
</type>

你看,为什么当我明确告诉它不要按 Id 排序时,它却按 Id 排序? (我知道代码可能容易受到攻击,我认为这是 2010 年的,仍然只有 localhost)。

最佳答案

使用 WHERE Id = '".$push['Id']."' 在循环内一次只能获取一个元素。 SQL 无法对一项进行排序。因此它们最终的顺序可能与 $push 数组中的顺序相同。您希望将所有 ID 收集到一个数组中,并使用 WHERE Id in (...) 执行单个查询。 (搜索 SQL“in”语句)。然后你的排序就会起作用,并且效率也会更高。

关于php - MySQL 查询结果顺序不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30403608/

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