PHP MySQL查询以奇怪的顺序显示结果

时间:2013-03-07 15:10:45

标签: php mysql

我在数据库表中有两组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 | 

1 个答案:

答案 0 :(得分:2)

记录在数据库中没有内在顺序。对于所有意图和目的,它们被检索的顺序是随机的。如果它们处于任何特定顺序,那是因为它们碰巧按该顺序存储,或者在索引中按顺序遇到。

如果您需要特定订单,请在查询中使用ORDER BY子句。