php mysql从2列进行搜索

php mysql从2列进行搜索,php,mysql,search-engine,Php,Mysql,Search Engine,示例搜索file.exe并获取具有此条件file.exe的所有结果。或者somebode search only.exe使用类型.exe获取所有结果 $where.=“标题,类型类似“%$keyword%”//我是这样做的,没有结果 $where.=“标题和类型类似“%$keyword%””//我是这样做的,没有结果 $where.=“标题类似“%$keyword%”和类型类似“%$keyword%””//我是这样做的,没有结果 有人知道我如何用带有符号“.”的标题类型获得结果 $where =

示例搜索file.exe并获取具有此条件file.exe的所有结果。或者somebode search only.exe使用
类型
.exe获取所有结果 $where.=“
标题
类型
类似“%$keyword%”//我是这样做的,没有结果 $where.=“
标题
类型
类似“%$keyword%””//我是这样做的,没有结果 $where.=“
标题
类似“%$keyword%”和
类型
类似“%$keyword%””//我是这样做的,没有结果 有人知道我如何用带有符号“.”的标题类型获得结果

$where = "";
$keywords =preg_split('/[\s]+/', $keywords);
$total_keywords = count($keywords);

foreach($keywords as $key=>$keyword) {
    $where .= "`title` LIKE '%$keyword%'";
    if ($key != ($total_keywords - 1)) {
        $where .= " AND ";
    }
}

    $results = "SELECT `id`, `username`, `title`, LEFT(`description`, 90) as `description`, `file`, `code`, `type`, `size`, `date` FROM `files` WHERE $where ORDER BY id DESC LIMIT $start, $per_page";


  $where .= "`title` LIKE '%$keyword%'"; // this case I am searching only in column `title` I want to search too in column `type` with sign '.' I don't know how to include '.' in search result for `type`
更新代码

$where .= "`title` LIKE '%$keyword%' OR type LIKE '$type'";
更新代码

$where .= "`title` LIKE '%$keyword%' OR type LIKE '$type'";

我不讨论语法,但您应该真正需要了解在MySQL中使用通配符搜索的瓶颈。为什么不使用
全文搜索
。当然,它假设表引擎是
MyISAM
。我不讨论语法,但您应该真正需要了解在MySQL中使用通配符搜索的瓶颈。为什么不使用
全文搜索
。当然,它假定表引擎是
MyISAM
。如果要同时匹配.exe和exe,则应将通配符与类型一起放入。类似“%$type%”的类型这是我知道但不起作用的方式我正在写文件但当我写file.exe时它不起作用你知道问题在哪里吗第二个条件它没有搜索“或类似“$type”的类型使用trim(array\u pop($parts))代替应该搜索file.exe的array\u pop($parts)。如果您需要更多搜索选项,请尝试全文搜索或solr/Lucene如果您希望同时匹配.exe和exe,则应将通配符与类型一起放入。类似“%$type%”的类型这是我知道但不起作用的方式我正在写文件但当我写file.exe时它不起作用你知道问题在哪里吗第二个条件它没有搜索“或类似“$type”的类型使用trim(array\u pop($parts))代替应该搜索file.exe的array\u pop($parts)。如果您想要更多搜索选项,请尝试全文搜索或solr/lucene
$where .= "`title` LIKE '%$keyword%' OR type LIKE '%$type%'";