如何在limit子句后追加查询

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

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

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

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

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

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

8qgya5xd

8qgya5xd1#

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

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

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

  1. $sqlStart = "SELECT * FROM detail WHERE status = '1'";
  2. $sqlEnd = " LIMIT 0,5";
  3. $sqlMiddle = "";
  4. $sqlcategory = " and category like '%s%'";
  5. if ($someVariable == true) $sqlMiddle .= $sqlcategory;
  6. $sql = $sqlStart.$sqlMiddle.$sqlEnd;
  7. //...and then execute the final value of $sql
展开查看全部

相关问题