gpt4 book ai didi

搜索数据库时的 PHP 和 mysql 通配符运算符

转载 作者:行者123 更新时间:2023-11-30 01:20:41 24 4
gpt4 key购买 nike

我的数据库中有一个客户列表,列名称是邮政编码

目前我的搜索运行 SQL

SELECT *
FROM customer
WHERE postcode LIKE '%".$_POST["search term"]."%'

这工作正常,但是如果数据库中的一行的邮政编码为(SS1 1AB)并且有人输入(SS11AB),我怎样才能让它找到正确的行?

基本上我希望能够搜索每一个组合等

最佳答案

您可能做的唯一方法是使用正则表达式或空格替换。

PHP: $term = str_replace(' ', '', $_POST["search term"]);

Query: Select * from customer where REPLACE(postcode, ' ', '') LIKE '%".$term."%'

话虽如此,您最好在插入时格式化数据,因为随着表的增长,该查找的运行成本将变得越来越高。我最讨厌的网站之一是使用邮政编码作为身份验证或验证数据,然后强制您使用特定的符号。我以前也见过人们在帖子代码中使用连字号,因此您应该在插入之前始终规范化格式,或强制执行格式(我更喜欢前一种选择,但后者更容易)。

此外,您的查询很容易受到注入(inject)攻击。但这是另一个话题了

关于搜索数据库时的 PHP 和 mysql 通配符运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18579913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com