[英]OrderBy query Php doesn't work after adding LIMIT
我想我的問題只是語法錯誤或SORT BY應該在LIMIT之前出現,無論如何在將LIMIT添加到我的查詢中之后,以下語句會生成mysql錯誤。
$query_pag_data = "SELECT * FROM Apartment LIMIT $start, $per_page";// without LIMIT the if statement works while with LIMIT it doesn't.
if ($_GET['SortBy']=="Price" || $_GET['SortBy']=="District" ||) {
$query_pag_data .= "ORDER BY ".$_GET['SortBy']; // It doesn't work if I add LIMIT to my query
}
這是什么錯誤,我如何才能在不更改邏輯的情況下使用LIMIT和ORDER BY進行操作。
這會工作
if ($_GET['SortBy']=="Price" || $_GET['SortBy']=="District") {
$query_order_by= " ORDER BY ".$_GET['SortBy'];
}
$query_pag_data = "SELECT * FROM Apartment $query_order_by LIMIT $start, $per_page";
完成的SQL應該看起來像SELECT, FROM, ORDER BY, LIMIT
。 因此,您的PHP應該寫為:
$query_pag_data = "SELECT * FROM Apartment";
if ($_GET['SortBy']=="Price" || $_GET['SortBy']=="District") {
$query_pag_data .= " ORDER BY ".$_GET['SortBy'];
}
$query_pag_data .= " LIMIT $start, $per_page"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.