【发布时间】:2011-12-08 21:17:24
【问题描述】:
我有这个表结构,
| id | name | level |
---------------------
| 1 | a | 1 |
| 2 | b | 2 |
| 3 | c | 3 |
| 5 | d | 4 |
| 6 | e | 1 |
| 7 | f | 2 |
| 8 | g | 1 |
| 9 | g | 4 |
我想将我的获取结果排序,所以我执行这个查询:
$sql = "SELECT * FROM section_tb WHERE id = ? ORDER BY level";
$stmt = $db->prepare($sql);
$stmt->execute(array($id));
$result = $stmt->fetch(PDO::FETCH_ASSOC);
但是,当我 print_r($result) 时,订单似乎是按 id 排序的。我很困惑为什么。
我的数据库详细信息:
id - PRIMARY, AUTO INCREMENT
name - UNIQUE
INNODB
【问题讨论】:
-
我希望结果中只有一行...
-
@AlbinSunnanbo:根据documentation,这根本不起作用(除非数组只包含一个元素)...
-
我也希望有一行,如果只有一行
id匹配$id,那么排序将如何影响它呢?您是否多次调用它并将多次调用的顺序视为结果的顺序? -
@Jon Hanna,我将该查询放在了 foreach 中。
-
这就解释了。在下面回答。
标签: php sql pdo sql-order-by