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 –