我有一个动态的mysql查询,ORDER BY
部分被硬编码到查询中。
问题是,我不知道每个查询是否都有ORDER BY
,也不知道哪些列可供订购。
我可以写一个默认值,以便我可以使用
if (empty($order)){$order = "default_value"}
$query = "select ...... ORDER BY $order"
答案 0 :(得分:4)
查询结果没有默认顺序。如果未显式指定ORDER BY子句,则数据顺序未定义。您只能指定ASC DESC
和一些列。
答案 1 :(得分:2)
如果你不确定订单,为什么不把它作为条件句呢?
$order_by = empty($order) ? "" : "ORDER BY " . $order
$query = "select ...... $order_by"