MySQL(innoDB)PHP搜索多个单词

MySQL(innoDB)PHP搜索多个单词,php,mysql,full-text-search,innodb,Php,Mysql,Full Text Search,Innodb,我正在运行MySQL版本5.1.57 我有一个HTML表单,用户可以在其中插入搜索字符串。我在这个字符串上创建了一个$\u会话,然后在MySQL查询中运行它。大概是这样的: <?php $sql = mysql_query ("SELECT s.student_firstname, s.student_lastname FROM students s

我正在运行MySQL版本5.1.57

我有一个HTML表单,用户可以在其中插入搜索字符串。我在这个字符串上创建了一个
$\u会话
,然后在
MySQL
查询中运行它。大概是这样的:

<?php

  $sql = mysql_query ("SELECT 
                        s.student_firstname, s.student_lastname 
                      FROM students s 
                      WHERE (
                             s.student_firstname LIKE '%$searchstring%' OR
                             s.student_lastname LIKE '%$searchstring%
                             )
                      AND s.isActive = '1' "); 
?>

我认为您应该在空格(“”)上拆分搜索到的字符串,并在您的查询或另一个查询中插入每个段。例如:

$str=“word1 word2”

首先搜索整个字符串“word1 word2”,然后在数据库中搜索“word1”和“word2”。 有了这个解决方案,你应该处理一个单词忽略列表,因为像“a,an,the,or,…”这样的单词不应该被搜索

我不确定innoDB表是否还有其他方法。。。最好的解决方案显然是使用“match-country”命令,但它仅在MyISAM下的全文索引中可用。

您可能希望看到这个:还有这个