PHP MYSQL使用LIKE搜索邮政编码

时间:2013-04-25 13:16:49

标签: php mysql

我有一个使用LIKE搜索邮政编码的查询。现在邮政编码很好,如果有人把完整的邮政编码,例如SW14 4NP。但是如果有人要放入SW1,它会返回任何带有SW1 +结果的东西。我怎么能这样做,如果有人把SW1,它只显示SW1邮编而不是SW11,SW14等。

我的查询是:

SELECT postcode FROM data WHERE postcode LIKE '$search%'

邮政编码的数据库存储为SW14 4NP等,并带有空格。

4 个答案:

答案 0 :(得分:3)

SELECT postcode FROM data WHERE postcode LIKE '$search %'

只需在搜索键后添加空格即可。然后它会找到所有SW1代码(或你找的任何东西),但不会找到SW11

答案 1 :(得分:2)

使用基于regular expression的模式匹配:

WHERE postcode RLIKE '^$search( ?[0-9][A-Z]{2})?'

答案 2 :(得分:1)

SELECT  postcode
FROM    data
WHERE   postcode LIKE 'SW1 %'

答案 3 :(得分:0)

    SELECT postcode FROM data WHERE postcode LIKE '$search %'

但是说用户只插入SW,它将不返回任何内容,而对于当前查询,它将返回以SW开头的任何内容。取决于你想做什么。