Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 搜索多个搜索词_Php_Mysql - Fatal编程技术网

Php 搜索多个搜索词

Php 搜索多个搜索词,php,mysql,Php,Mysql,如何使用以下代码搜索多个字段: 如果计数$error

如何使用以下代码搜索多个字段:

如果计数$error<1{ $searchSQL=从job_search WHERE中选择sid、sdate、缝合线、slocation、skategori、stype、sbody、slist; 抓取搜索类型。 $types=数组; $types[]=isset$_GET['title']?'stitle'类似“{$searchTermDB}%”:; $types[]=isset$_GET['desc']?`skategori`类似“{$searchTermDB}%”:; $types[]=isset$_GET['list']?'slist`类似“%$searchTermDB}%”:; $types=array_filter$types,removempty; 如果计数$类型<1{ $types[]=`sbody`LIKE'%{$searchTermDB}%'; $andOr=isset$_GET['matchall']?'和':'或'; $searchSQL.=内爆{$andOr},$types.ORDER BY`stitle`; $searchResult=mysql\u query$searchSQL或trigger\u error..mysql\u error.SQL为:{$searchSQL}; } } 我在$types=数组中使用了一个复选框;如果未选中任何复选框,则搜索将使用$types[]=sbody,如“{$searchTermDB}%”

我想知道的是,如何在{$searchTermDB}中创建多个$types[],然后使用“{$searchTermDB}%”之类的搜索所有字段

您可以构建与当前类似的字段字符串。上面是完整查询的基本示例


请注意,您确实应该使用PDO或mysqli之类的工具来处理数据库通信。mysql函数已被弃用。

以下是解决方案。完全归功于@Kaiqing的帮助。我删除了$types=数组;并将其替换为以下内容:

  // If there are no errors, lets get the search going.
   if (count($error) < 1) {
      $searchSQL = "
      SELECT sid, sdate, stitle, slocation, skategori, stype, sbody, slist 
      FROM job_search 
      WHERE MATCH(`stitle`, `skategori`, `slist`, `sbody`, `slocation`) 
      AGAINST('{$searchTermDB}' IN BOOLEAN MODE) ";

      $searchResult = mysql_query($searchSQL) or trigger_error("There was an error.<br/>" . mysql_error() . "<br />SQL Was:        {$searchSQL}");

我没有使用PDO,安全的选择是使用PDO方法。

你有没有调查过对手的比赛?这样你就可以参考@KaiQing所说的内容了:。这就是你要寻找的答案。布尔型全文搜索也会起作用:@KaiQing如何将全文布尔型集成到我当前的脚本中?很抱歉,我还是PHP和MySQL的初学者。谢谢,我还在研究PDO,离掌握它的窍门不远了。
  // If there are no errors, lets get the search going.
   if (count($error) < 1) {
      $searchSQL = "
      SELECT sid, sdate, stitle, slocation, skategori, stype, sbody, slist 
      FROM job_search 
      WHERE MATCH(`stitle`, `skategori`, `slist`, `sbody`, `slocation`) 
      AGAINST('{$searchTermDB}' IN BOOLEAN MODE) ";

      $searchResult = mysql_query($searchSQL) or trigger_error("There was an error.<br/>" . mysql_error() . "<br />SQL Was:        {$searchSQL}");