0

我想我的问题只是语法错误或 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 一起工作。

4

2 回答 2

1

这会起作用

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";
于 2013-09-05T12:58:41.413 回答
0

您完成的 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"
于 2013-09-05T13:01:41.977 回答