【发布时间】:2016-11-19 11:59:10
【问题描述】:
我试图在搜索中找到类似于查询的结果,例如,当有人搜索“tes”时,我希望出现“Test McTestFace”。
我尝试使用 LIKE 和 MATCH AGAINST 方法,但似乎都不起作用。使用 MATCH AGAINST 时,什么都不会出现,而使用 LIKE 时,只会出现直接匹配。
我的 MATCH AGAINST 代码:
if (isset($_POST['submit']))
{
$query = $db->prepare("SELECT * FROM accounts WHERE MATCH (name) AGAINST (:query)");
$query->execute(array('query' => $_POST['query']));
$result = $query->fetch();
}
print_r($result);
我的 LIKE 代码:
if (isset($_POST['submit']))
{
$query = $db->prepare("SELECT * FROM accounts WHERE name LIKE :query");
$query->execute(array('query' => $_POST['query']));
$result = $query->fetch();
}
print_r($result);
对不起,谢谢。
【问题讨论】:
-
我不明白你想要达到什么目的。你会考虑提出一个简洁的问题吗?
-
@Bex 抱歉,您觉得它不够简洁,(虽然现在已经回答)我试图询问如何正确使用 MySQL 查询的 LIKE(或 MATCH AGAINST)值。出于特定原因,我正在尝试制作一个简单的搜索表单,允许输入一个关闭字符串并接收匹配的列表或用户。