我有一个包含联系信息的表格。该表有 1 列与名称相关。它看起来像这样:
Sort Name:
Doe, John
Clinton, Bill
Dooby Doo, Scooby
遗憾的是,没有名字/姓氏列,并且无法添加。 如果用户输入搜索词“john doe”,有什么方法可以让 mysql 返回“Doe, John”列作为我的结果?
编辑:作为 RHSeeger 回答的后续,我会怎么做
john doe
进入
$name(0=>'john', 1=>'doe')
使用 php
感谢到目前为止的帮助
最佳答案
我的想法是:
SELECT * FROM tablename
WHERE LOWER(sort_name) LIKE '%name1%'
...
AND LOWER(sort_name) LIKE '%nameN%'
其中
编辑:值得注意的是,对于相当大的数据集,像这样的搜索会很慢。如果您要拥有大量数据,您可以考虑使用搜索引擎(如 SOLR )来搜索内容,并使用 MySQL 仅用于按 ID 查找。
关于php - 使用 LIKE 搜索名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3515218/