【发布时间】:2015-05-12 06:52:00
【问题描述】:
所以我在当前搜索网站时遇到了问题。所以我目前的搜索将实现这一点; 用户输入“crik”,它将返回“cricket”进行搜索。 但是,如果用户输入“cricket”,它不会返回“cricket”进行搜索。 我怎样才能让它工作? 我当前的 php 代码是;
$searchQ = $_GET['search'];
$ssss = $pdo->prepare('SELECT * FROM listing WHERE name LIKE :search');
$ssss->bindValue(':search', "%" . $searchQ . "%");
$ssss->execute();
我也试过了,但没有返回任何东西;
$ssss = $pdo->prepare('SELECT * FROM listing WHERE MATCH(name) AGAINST (:search IN BOOLEAN MODE) ');
【问题讨论】:
-
"SELECT * FROM listing WHERE name LIKE '%' + :search + '%' " -
这个表是什么存储引擎?你使用全文索引了吗?
-
我认为存储引擎是 InnoDB,我不知道如何使用全文索引。抱歉,我是 php 新手
-
另外 xNeyte 感谢您的评论,但它没有用,是因为我不必在该声明之后绑定值吗?
-
它在这里工作,是的,例如,你必须绑定你的单词'crik'