我的表中有关键字列,并且有逗号(,)分隔值.例如:你好,世界
我有相同代码的搜索引擎:
$search = $_GET ['search'];
$query = $db->prepare("SELECT COUNT(*) as num FROM table WHERE keywords LIKE ?");
$query->bindValue(1, "%$search%", PDO::PARAM_STR);
$query->execute();
$sql = $db->prepare("SELECT * FROM table WHERE keywords LIKE ? LIMIT $start , $limit");
$sql->bindValue(1, "%$search%", PDO::PARAM_STR);
$sql->execute();
当我在搜索栏中只键入’hello’或者只键入’world’时,会有结果,但是如果我同时输入两个单词,就像’Hello world’那样没有结果.
编辑:
我编辑了我的全文搜索代码
$query = $db->prepare("SELECT COUNT(*) as num FROM table WHERE MATCH (id,keywords) AGAINST ('$search*' IN BOOLEAN MODE)");
$query->execute();
和
$sql = $db->prepare("SELECT * FROM table WHERE MATCH (id,keywords) AGAINST ('$search*' IN BOOLEAN MODE) LIMIT $start , $limit");
$sql->execute();
它效果更好,但现在我得到了一些不相关的结果.有没有办法过滤结果并命令它们相关?
谢谢