php - MySQL 全文搜索 where category = something

标签 php mysql

这让我发疯,我到处搜索,似乎找不到例子。我正在像这样进行全文 MySQL 搜索:


SELECT *
FROM `posts`
WHERE MATCH (
`title` , `description` , `location`
)
AGAINST (
'SEARCH TERM'
IN BOOLEAN
MODE
)
ORDER BY `id` DESC
LIMIT 0 , 100

效果很好,但我的表“类别”中还有另一列,我想只返回该类别的结果,例如:

选择 * 来自`帖子` 哪里匹配 ( `标题`,`描述`,`位置` ) 反对 ( '费耶特维尔' 在 bool 值 模式 ) WHERE `category` = '搜索类别' 按 `id` 降序排序 限制 0 , 100

当然,第二段代码不起作用,但我如何在 MySQL 中执行此操作?

谢谢

最佳答案

您只能有一个 WHERE 子句。将您的第二个 WHERE 更改为 AND。

SELECT *
FROM `posts`
WHERE MATCH ( `title` , `description` , `location` )
      AGAINST ( 'fayetteville' IN BOOLEAN MODE )
AND `category` = 'SEARCH CATEGORY'
ORDER BY `id`
DESC LIMIT 0 , 100 

关于php - MySQL 全文搜索 where category = something,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4557871/

相关文章:

mysql - Coldfusion 案例产生错误

php - Google Drive PHP API 客户端 : Creating a folder in a shared drive

javascript - 如何从发送电子邮件中删除特定数据

mysql - DATE( ) 导致 SQL 查询花费太长时间

mysql - 从表中选择排除表 2 中的值?

mysql - 按另一个表列中的值选择列

php - 不正确的日期时间值数据库错误编号 : 1292

php - Laravel Scout和Elastic Search在测试中不起作用

php - 使用 PHP 在 mysql 数据库中插入记录时验证对文件(已存在/类型)不起作用

c# - 带有动态 where 子句的参数化查询