gpt4 book ai didi

php - 如何使用 PHP/MySQL 搜索其他变量的特定内容?

转载 作者:行者123 更新时间:2023-11-29 06:16:09 25 4
gpt4 key购买 nike

我正在为一个与受虐待和被忽视的动物合作的组织创建一个网站搜索,一切正常,直到搜索包含特定值。例如,如果有人在搜索字段中输入“braxton black”,它将正确搜索这些术语,并正确显示结果。但是,如果他们使用高级搜索,并选择“雄性”,则返回的结果将包含雄性和雌性动物,就像这部分并不重要一样。

以下是通过搜索“braxton black”并选择“Female”作为动物性别生成的示例 SQL 语句:

SELECT * FROM ans WHERE (ans_name LIKE '%braxton%' OR ans_name LIKE '%black%') OR (ans_color LIKE '%braxton%' OR ans_color LIKE '%black%') OR (ans_age LIKE '%braxton%' OR ans_age LIKE '%black%') OR (ans_desc LIKE '%braxton%' OR ans_desc LIKE '%black%') AND ans_sex = 'Female' GROUP BY ans_id

所有字段都是正确的,并且“ans_sex”字段中的术语是男性或女性,因此它会搜索确切的术语。谁能看出这个 SQL 语句有什么问题导致了问题吗?非常感谢任何帮助。

最佳答案

我不确定 mysql 处理条件的顺序,但我会尝试将所有 OR 语句包装在括号中:

SELECT * FROM ans WHERE ( (ans_name LIKE '%braxton%' OR ans_name LIKE '%black%') OR (ans_color LIKE '%braxton%' OR ans_color LIKE '%black%') OR (ans_age LIKE '%braxton%' OR ans_age LIKE '%black%') OR (ans_desc LIKE '%braxton%' OR ans_desc LIKE '%black%') ) AND ans_sex = 'Female' GROUP BY ans_id

关于php - 如何使用 PHP/MySQL 搜索其他变量的特定内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6379414/

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