【发布时间】:2021-09-29 01:16:17
【问题描述】:
我有一个充满地址的数据库。 6 列(id、Name、Address、City、State、Zip、dt)
我的代码使用 ajax 运行以进行实时搜索。目前,我主要可以通过查询找到我要查找的内容。我遇到的问题是这个。如果我搜索“90210 Steve Jones”我没有得到任何结果,但如果我搜索“Steve Jones 90210”它会找到行。
这是我的代码:
$query = "SELECT * FROM db";
if($_POST['query'] != '')
{
$postq = mysql_real_escape_string($_POST['query']);
$query .= "WHERE CONCAT(Name,Address,City,State,Zip) LIKE '%".str_replace(' ', '%', $postq)."%'";
}
$query .= 'ORDER BY Name ASC, dt DESC ';
$statement = $connect->prepare($query);
$statement->execute();
任何帮助将不胜感激
【问题讨论】:
-
like 运算符不会混合单词的顺序。也许Is there a combination of like and in sql 会回答你的问题。
-
胡安,我已将所有列设置为全索引,结果没有改变。