在select语句中使用varchar - 即bob46

时间:2013-04-24 10:05:33

标签: php sql select preg-replace

我希望使用varchar使select语句工作,我知道如何使用'bob'设置文本,如果数字与''

一致

基本上我需要它选择以文本和数字的形式使用它:

SELECT * FROM customer WHERE name=bob46

但它不会选择,我的实际代码是基于英国邮政编码,最多包含8个字符,每次都有一个空格。

我需要任何特殊价值吗?我的也来自一个表单所以它会像$ searchquery那样将它作为从中提取数据的字符。

我已经完成所有项目应该显示但我得到了

  

“SELECT * FROM customer WHERE postcode LIKE'& cr5 3eg&' “

每次都出现

我还使用pregreplace来确保正确使用数字和文本,我如何制作它以便在邮政编码之间注册空格?所以它认为它是s3 5rf而不是s35rf?

感谢

1 个答案:

答案 0 :(得分:0)

我的答案是针对MySQL的。这是something similar for SQL


此处$searchquery是代表英国邮政编码的string

1)此查询从匹配的邮政区域返回客户:

SELECT * FROM customer WHERE postcode = '{$searchquery}'

2)如果您只给出postcode的开头,则可以使用此查询:

SELECT * FROM customer WHERE postcode LIKE '{$searchquery}%'

3)如果你想匹配postcode

中的任何地方,请使用此选项
SELECT * FROM customer WHERE postcode LIKE '%{$searchquery}%'

您可以在进行搜索之前根据自己的喜好解析$searchquery。例如,如果表单输入为“A9 9AA”,并且您要搜索postcode使用“A9”进行搜索的每个客户,请使用例如explode function从输入中获取“A9”并执行查询n:o 2。

我不是您的示例WHERE postcode LIKE '&cr5 3eg&' "来自哪里。 See the manual正确的MySQL语法:使用“%”或“_”,而不是“&”。

请注意。我对英国邮政编码一无所知。我查看了示例邮政编码from here