1
我有此數組:MySQL不期望的順序執行select語句
$dbh = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$stmt = $dbh->prepare("SELECT *
FROM table
WHERE id IN (" . implode(',', array_map('intval', $keys)) . ")");
$stmt->execute();
但呼應出來的結果:
$keys = Array(79, 68, 80, 78, 71, 69, 77, 82, 83, 70, 76, 74, 75)
然後我用這個數組進行查詢我的數據庫像...
while($row = $stmt->fetch()) {
echo $row['id'] . '<br />';
}
...給我:
69
70
71
74
75
76
77
78
79
80
81
82
83
即,結果按升序排序。但我需要結果像原始數組$ key(它代表頂部列表)排序。這可能嗎?
他要求他們不要進行排序,留在原數組的順序。 –
@JohnVanDeWeghe準確地說,按字段使用順序將做到這一點。 – datasage
哦,我誤解了你原來的答案,我也不瞭解FIELD(),+1 –