foo-6ren">
gpt4 book ai didi

PHP - MYSQL 全文搜索

转载 作者:行者123 更新时间:2023-11-29 02:33:48 25 4
gpt4 key购买 nike

我有一个 MYSQL 全文搜索,匹配我数据库中的项目,效果很好。

$select = "SELECT * from menu WHERE MATCH(item) AGAINST('$this->food') ";

从那里我根据用户想要过滤的内容来优化查询。我有 2 个过滤器,vegetarian 和 breadtype

   if(isset($this->vegetarian)) { 
echo $select .= " AND vegetarian='$this->vegetarian'";
}

if(isset($this->bread)) {
echo $select .= " AND bread='$this->bread'";
}

它附加了全文声明,现在这完美地工作了,尽管我的问题是如果用户没有搜索任何内容(空字符串),我希望它返回数据库中的所有结果。

 if(empty($this->food)) { $select = "SELECT * from menu"; }

这意味着我不能将 $select 语句附加到上面的 if 语句中,而必须改用 WHERE 语句——但这意味着要添加 2 个额外的 if 语句来弥补这一点。无论如何,MYSQL 是否可以代替它。

 if(isset($this->vegetarian) && empty($this->food)) { 
echo $select .= " WHERE vegetarian=$this->vegetarian";
}

最佳答案

您可以简单地使用 WHERE 1=1 然后附加其余部分。如果没有额外的 ANDOR,MySQL 将简单地忽略这部分。

关于PHP - MYSQL 全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8434661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com