只是为了便于理解:在“result”表中有一个名为“result_search”的列。其中一行是例如:“word letter sentence”。
如果我搜索这些单词中的任何一个,或者即使我搜索“word letter”或“letter sentence”,我的搜索效果也很好,但是当我将其混合并搜索“sentence word”或“letter word”时,没有显示任何结果.
我该如何解决?我假设我需要告诉搜索引擎自己搜索每个单词并只返回两个单词都存在的结果,但必须像它们在表格中一样彼此相邻?!这是我所拥有的:
<form action="search.php" method="GET">
<input type="text" name="query" />
<input type="submit" value="Search" />
</form>
<?php
$query = $_GET['query'];
$min_length = 3;
if(strlen($query) >= $min_length){
$query = htmlspecialchars($query);
$query = mysql_real_escape_string($query);
$raw_results = mysql_query("SELECT * FROM result WHERE (`result_search` LIKE '%".$query."%')") or die(mysql_error());
if(mysql_num_rows($raw_results) > 0){
while($results = mysql_fetch_array($raw_results)){
echo "<p><h3>".$results['result_search']."</h3></p>";
}
}
else{
echo "No results";
}
}
else{
echo "Minimum length is ".$min_length;
}
?>
谢谢您的帮助!