如何在limit子句后追加查询

gkl3eglg  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(285)

我有一个查询,其中只有5个数据从数据库将显示在开始从数据库。这是查询

query="SELECT * FROM detail WHERE status = '1'  LIMIT 0,5";

我想附加查询后,用户选择任何其他选项在网页上,如

query .="and category like '%s%'";

但当我选择category时,它显示查询错误。我们不能在limit后面加上and子句吗?或者我们还有别的办法吗

8qgya5xd

8qgya5xd1#

你说得对,你不能在limit子句后面附加这个,它需要插入where子句。
你的目标是

SELECT * FROM detail WHERE status = '1' and category like '%s%' LIMIT 0,5

我想你只想加上这个 AND 特定情况下的条款?
如果是这样的话,那么在您知道其中的所有内容之前,不要敲定您的sql字符串。把它分成几部分,然后在你执行之前把它们组合起来。
下面是一个非常简单的例子:

$sqlStart = "SELECT * FROM detail WHERE status = '1'";
$sqlEnd = " LIMIT 0,5";
$sqlMiddle = "";
$sqlcategory = " and category like '%s%'";

if ($someVariable == true) $sqlMiddle .= $sqlcategory;

$sql = $sqlStart.$sqlMiddle.$sqlEnd;
//...and then execute the final value of $sql

相关问题