gpt4 book ai didi

php - 尝试使用 PDO 在 PHP 中搜索 MySQL 数据库

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:42 25 4
gpt4 key购买 nike

我试图在搜索中找到类似于查询的结果,例如,当有人搜索“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);

抱歉,谢谢。

最佳答案

如果使用 LIKE,您需要使用通配符 % 包装查询以使其工作。

来自docs :

With LIKE you can use the following two wildcard characters in the pattern:

% matches any number of characters, even zero characters.

_ matches exactly one character.

$query->execute(array('query' => '%' . $_POST['query'] . '%'));

关于php - 尝试使用 PDO 在 PHP 中搜索 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40692614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com