-2

我希望使用 varchar 让 select 语句工作,我知道如何使用 'bob' 设置文本,如果没有 ''

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

SELECT * FROM customer WHERE name=bob46

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

我需要任何特殊值吗?我的也来自一个表单,所以它会以 $searchquery 的形式出现,就像它会从中提取数据的字符一样。

我已经做到了,所以所有项目都应该显示,但我明白了

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

每次出现

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

谢谢

4

1 回答 1

0

我下面的答案是针对 MySQL 的。这与 SQL 类似


$searchquery是一个string代表英国的邮政编码。

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

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

2) 如果你只给出 a 的开头postcode,你可以使用这个查询:

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

3)如果你想匹配任何地方,请使用它postcode

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

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

我不知道你的例子WHERE postcode LIKE '&cr5 3eg&' "来自哪里。有关正确的 MySQL 语法,请参阅手册:使用“%”或“_”,而不是“&”。

笔记。我对英国邮政编码一无所知。我从这里查看了示例邮政编码。

于 2013-04-24T11:44:24.267 回答