我目前有一个简单的搜索引擎,它根据用户的输入在我的数据库中搜索列:
$search = $_GET['search'];
$terms = explode(" ", $search);
$sql = "SELECT * FROM people WHERE lname LIKE :search";
$q = $conn->prepare($sql) or die("failed!");
$q->bindValue(':search',"%".$search."%",PDO::PARAM_STR);
$q->execute();
if ($q){
//
do something
}
目前它正在整体搜索术语,例如“red desk”返回结果但“desk red”不返回任何内容
有任何想法吗?非常感谢任何帮助!
编辑:
从那以后我把它改成了这个......
$search = $_GET['search'];
$terms = explode(" ", $search);
$sql = "SELECT * FROM people WHERE MATCH (lname,fname) AGAINST (:search IN BOOLEAN MODE)";
$q = $conn->prepare($sql) or die("failed!");
$q->bindValue(':search',"%".$search."%",PDO::PARAM_STR);
$q->execute();
现在似乎工作正常,如果有人能提出更好的解决方案,我将非常感激!