php - 如何使用仅返回具有特定字段值的行的 MATCH AGAINST 方法搜索 MySQL 数据库?

标签 php mysql search match

我有一个 MySQL 表,其中一个字段是“类别”,其值包括文章、研究、引述等。对于搜索表单,我有与这些类别相对应的复选框供用户选择,如果不是全部,则从中搜索。

现在,以下代码片段可用于不加区别地搜索整个表格(即,从具有“类别”的行,包括文章、研究、引述等。但是,我将如何更改以下内容,以便如果一个人只选择“文章” ,"查询将只返回具有相应值的字段 "category"的行?

$category = $_GET["category"];
$query = "User-submitted query";
$search = mysql_query("SELECT title,body,
MATCH(title, body) 
AGAINST('$query' IN BOOLEAN MODE)
AS score FROM resources
WHERE MATCH(title, body) AGAINST ('$query' IN BOOLEAN MODE)");

我尝试在上面添加 WHERE category = '$category' ($category 在这种情况下将是“文章”),但它没有用。

顺便说一句:我知道 mysql/mysqli 和安全用户输入问题。

最佳答案

我发现了问题。以下作品:

$category = $_GET["category"];
$query = "User-submitted query";
$search = mysql_query("SELECT title,body,
MATCH(title, body) 
AGAINST('$query' IN BOOLEAN MODE)
AS score FROM resources
WHERE MATCH(title, body) AGAINST ('$query' IN BOOLEAN MODE)
AND category = '$category'");

关于php - 如何使用仅返回具有特定字段值的行的 MATCH AGAINST 方法搜索 MySQL 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11961826/

相关文章:

php - 如何询问一个人是否要关闭窗口?

php - Laravel Request::all() 不应该被静态调用

php - SQL查询输出正确,但是php编写的程序无法显示结果

php - 用于检查多维数组的递归函数

php - 如何使用 PHP 检查 URL 是否已存在于数据库中?

php - SugarCRM 安装卡住

php - [PHP][MySQL] 如何在上传表单中为每个选定文件实现标题字段?

PHP SQL 搜索系统

elasticsearch - 结合使用精确的前缀/匹配短语前缀查询和Ngram筛选器

ruby-on-rails - 在 Ruby on Rails 3 应用程序中实现搜索?