scenarioi: - 1)用户在搜索字段中输入地址。地址可能是邮政编码,州或国家
2)现在我必须采取可能以任何顺序或可能只包含国家,州或邮政编码的地址,并检查数据库是否存在结果。
关于这个主题的任何建议都很棒
答案 0 :(得分:1)
这个怎么样?
'SELECT * FROM table WHERE address LIKE \''. addslashes($search) .'\'
OR zip = '. (int)$search .'
OR country LIKE \''. addslashes($search) .'\''
答案 1 :(得分:0)
我会做类似的事情:
split address on space
将where子句构建为
WHERE zip||state||country like '%address_part_one%'
OR zip||state||country like '%address_part_two%'
and so on ...
如果您为三个字段启用了全文:
WHERE MATCH (zip,state,country) AGAINST ('address_part_one')
OR MATCH (zip,state,country) AGAINST ('address_part_two')
...