簡體   English   中英

添加LIMIT后,OrderBy查詢PHP不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM