【发布时间】:2026-01-14 17:35:01
【问题描述】:
大家好,我需要在数据库中搜索数据,例如 123.456.789 即使我只输入了 123456789 ,我如何搜索它? 我需要从数据库中转义特殊字符,这样即使我搜索 123456789 它也可以显示像 123.456.789 这样的值。
这是我的查询:
SELECT *
FROM clients
WHERE REPLACE(phone, '.', '') LIKE ".$searchtext."
...searchtext 是我正在寻找的号码。无论出现什么特殊字符,它都应该返回所有匹配的值。
【问题讨论】:
-
请分享您的查询。
-
@user868766 这是我的查询
SELECT * FROM clients WHERE REPLACE(phone, '.', '') LIKE ".$searchtext.",其中 searchtext 是我要查找的号码。无论出现什么特殊字符,它都应该返回所有匹配的值。 -
这是我第一次看到普通点被认为是一个特殊字符...... :)
-
select * from clients where replace(phone,'.','') = '123456789';我创建的示例数据工作正常。你能告诉我们示例数据/表结构吗?
-
@ÁlvaroG.Vicario 哈哈,我们也考虑'-'
标签: php mysql database escaping