【问题标题】:How to search multiple columns in a MySQL query?如何在 MySQL 查询中搜索多个列?
【发布时间】:2017-04-15 14:07:25
【问题描述】:

如何搜索多列,此代码搜索单列,请自定义我的代码

$keywords= "search keywords";
$keywords= htmlspecialchars($keywords);    
$keywords= mysqli_real_escape_string($con, $keywords);
$countSql_s = "SELECT *, MATCH(website) AGAINST ('%".$keywords."%') AS score FROM search WHERE MATCH(website) AGAINST ('%".$keywords."%') ORDER BY score DESC";

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    只需更改您的“WHERE”以包括对每一列的检查,如下所示:

    ... WHERE MATCH(website) AGAINST('%".$keywords."%') > 5
    AND MATCH(username) AGAINST('%".$keywords."%') > 5
    ...
    

    【讨论】:

      【解决方案2】:

      您需要将表格更改为:

      ALTER TABLE --table name-- ADD FULLTEXT fulltext_search (column1,colum2,column3);
      

      然后你可以这样搜索:

      MATCH (column1,column2) AGAINST ('%".$keywords."%')
      

      【讨论】:

      • 我有点怀疑 fulltext_search @ Jeremy Gurr 是什么意思
      • FULLTEXT 是搜索的索引。要使用全文,您需要将他的列定义为 FULLTEXT
      • 我还有一个疑问,如何将我的 db ENGINE=InnoDB 更改为 ENGINE=MyISAM
      • 你在使用 phpmyadmin 吗?
      猜你喜欢
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 2017-05-01
      相关资源
      最近更新 更多