简体   繁体   English

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

[英]OrderBy query Php doesn't work after adding LIMIT

I guess my problem is just about a syntax error or SORT BY should come before LIMIT, anyway after adding LIMIT to my query the following statement generates an mysql error. 我想我的问题只是语法错误或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
}

What is the error and how can I make this working with LIMIT and ORDER BY wout changing my logic. 这是什么错误,我如何才能在不更改逻辑的情况下使用LIMIT和ORDER BY进行操作。

this will work 这会工作

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";

Your completed SQL should read like SELECT, FROM, ORDER BY, LIMIT . 完成的SQL应该看起来像SELECT, FROM, ORDER BY, LIMIT So your PHP should be written like: 因此,您的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