我的网站有搜索机制。为此,我编写了一个大型条件查询。
$sql = "select * from users where
keyword like '%".$_POST['search']."%'
OR name like '%".$_POST['search']."%'";
现在,我想我在网站上有以下数据:
ID Name Keyword
1 Sanjay sanjay, surani
2 Ankit ankit, shah
3 Ravi ravi, kotwani
现在,我需要的结果是,当用户写入
"sanjay, shah" ($_POST['search'] = 'sanjay, shah')
时,应该显示记录1和2。我可以在一个mysql查询中实现这一点吗?
最佳答案
如果要重新构造关键字字段并将其拆分,使其只包含一个名称,该怎么办?
所以不是
ID Name Keyword
1 Sanjay sanjay, surani
2 Ankit ankit, shah
3 Ravi ravi, kotwani
你会有
ID Name KeyID
1 Sanjay 1
2 Sanjay 2
3 Ankit 3
4 Ankit 4
5 Ravi 5
6 Ravi 6
KeyID Keyword
1 sanjay
2 surani
3 ankit
4 shah
5 ravi
6 kotwani
搜索会快得多。
关于php - mysql查询中的逗号分隔搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10053555/