我在数据库表中有两组4个评级输入,一个的priority_id
为19,另一个的priority_id
为20.如果我在phpMyAdmin中运行下面的sql查询,它将会返回id
主键字段的值,并按正确的顺序列出它们。如果我运行我的php文件并选择priority_id
19的值,它们会以正确的顺序显示在屏幕上。但是,如果我选择priority_id
20的值,则id值会以奇怪的,无理的顺序显示为屏幕。任何人都有想法可能导致这个?我已经尝试将order by
添加到sql查询中,但这似乎没有帮助。
$input_ids = array();
$query = "SELECT * FROM rating_inputs WHERE priority_id = '20'";
echo $query . "<br/>";
$result = mysql_query($query);
$z=0;
while($row=mysql_fetch_assoc($result)){
$input_ids[$z] = $row['id'];
echo "input id: " . $input_ids[$z] . "<br/>";
$z=$z+1;
}
这些是我的数据库字段及其数据。值字段此时为空。
id | priority_id | category_id |值
53 | 19 | 1 |
54 | 19 | 4 |
55 | 19 | 10 |
56 | 19 | 11 |
57 | 20 | 1 |
58 | 20 | 4 |
59 | 20 | 10 |
60 | 20 | 11 |
答案 0 :(得分:2)
记录在数据库中没有内在顺序。对于所有意图和目的,它们被检索的顺序是随机的。如果它们处于任何特定顺序,那是因为它们碰巧按该顺序存储,或者在索引中按顺序遇到。
如果您需要特定订单,请在查询中使用ORDER BY
子句。