Php 从数据库中转义特殊字符-MySql
嗨,伙计们,我需要在数据库中搜索像123.456.789这样的数据 即使我只输入了123456789,我如何搜索它? 我需要从数据库中转义特殊字符,这样即使我搜索123456789,它也可以显示像123.456.789这样的值 我的问题是:Php 从数据库中转义特殊字符-MySql,php,mysql,database,escaping,Php,Mysql,Database,Escaping,嗨,伙计们,我需要在数据库中搜索像123.456.789这样的数据 即使我只输入了123456789,我如何搜索它? 我需要从数据库中转义特殊字符,这样即使我搜索123456789,它也可以显示像123.456.789这样的值 我的问题是: SELECT * FROM clients WHERE REPLACE(phone, '.', '') LIKE ".$searchtext." 。。。其中searchtext是我要找的号码。它应该返回所有匹配的值,不管存在什么特殊字符。您可以使用MyS
SELECT *
FROM clients
WHERE REPLACE(phone, '.', '') LIKE ".$searchtext."
。。。其中searchtext是我要找的号码。它应该返回所有匹配的值,不管存在什么特殊字符。您可以使用MySQL的函数:
从my_表中选择*替换my_列,'.',='123456789';
但是,如果my_列只包含整数,您应该将其更改为MySQL的函数之一。您可以使用MySQL的函数:
从my_表中选择*替换my_列,'.',='123456789';
但是,如果my_列只包含整数,您应该将其更改为MySQL的一个。Replace是最好的函数:
Select * from TableName where Replace(ColumnName,'escaping character','replaced character')='your Search option'
对于您的情况,转义字符为点,替换字符为,搜索选项为“123456789”替换是执行此操作的最佳功能:
Select * from TableName where Replace(ColumnName,'escaping character','replaced character')='your Search option'
对于您的案例,转义字符为点,替换字符为,搜索选项为“123456789”@Kiel
这是示例表和查询。请看看这是否能帮到你。不确定你的桌子结构
CREATE TABLE `clients` (
`id` int(11) NOT NULL,
`phone` varchar(255) NOT NULL
) ENGINE=InnoDB;
INSERT INTO `test`.`clients` (
`id` ,
`phone`
)
VALUES (
'1', '123.456.789'
), (
'2', '123.456.785'
);
mysql> select * from clients where replace(phone,'.','') = '123456789';
+----+-------------+
| id | phone |
+----+-------------+
| 1 | 123.456.789 |
+----+-------------+
希望这有帮助 基尔
这是示例表和查询。请看看这是否能帮到你。不确定你的桌子结构
CREATE TABLE `clients` (
`id` int(11) NOT NULL,
`phone` varchar(255) NOT NULL
) ENGINE=InnoDB;
INSERT INTO `test`.`clients` (
`id` ,
`phone`
)
VALUES (
'1', '123.456.789'
), (
'2', '123.456.785'
);
mysql> select * from clients where replace(phone,'.','') = '123456789';
+----+-------------+
| id | phone |
+----+-------------+
| 1 | 123.456.789 |
+----+-------------+
希望这有帮助 您好,我这样做了,但没有成功。这是我的查询:选择*来自REPLACEphone所在的客户端,“.”,如.$searchtext。其中searchtext是我搜索的号码。您好,我这样做了,但没有成功。这是我的查询:从替换电话的客户端中选择*,例如:$searchtext。其中searchtext是我搜索的号码。请共享您的查询。@user868766这是我的查询选择*,来自替换电话“.”的客户端,如.$searchtext。其中searchtext是我要找的号码。它应该返回所有匹配的值,不管存在什么特殊字符。这是我第一次看到规则点被视为特殊字符…:从replacephone“,=”123456789“的客户端中选择*;与我创建的示例数据配合良好。你能给我们看看样本数据/表结构吗?@ @ LVARGO.VigiRo哈哈,我们也考虑“-”请分享你的查询。@ USER 868 766这是我的查询选择*从客户那里替换电话,'.',像.$SuxTeXT。其中searchtext是我要找的号码。它应该返回所有匹配的值,不管存在什么特殊字符。这是我第一次看到规则点被视为特殊字符…:从replacephone“,=”123456789“的客户端中选择*;与我创建的示例数据配合良好。你能给我们看看样本数据/表结构吗?@拉瓦拉维卡里奥哈哈,我们也考虑“-”谢谢!现在我需要替换还有空间,这样我就可以得到123.456.789,123-456-789和123-456-789有什么想法吗?我想在我的查询中添加或,但有没有更简单的方法?我做到了,谢谢!这是我的最后一个查询SELECT*,来自替换电话“.”、“-”、“,”,如“$searchtext.”的客户端。谢谢!谢谢你!现在我需要替换还有空间,这样我就可以得到123.456.789,123-456-789和123-456-789有什么想法吗?我想在我的查询中添加或,但有没有更简单的方法?我做到了,谢谢!这是我的最后一个查询SELECT*,来自替换电话“.”、“-”、“,”,如“$searchtext.”的客户端。谢谢!我想转义角色,但我不能,当我转义时,我有0个结果,-和黑色空间工作。。。但无法从istorie WHERE replaceKeywords,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,中选择id、标题、链接、poza、alt、关键字,如“%$keywords%”-0结果,两个查询为1-test,bla和另一个test,bla未使用,如果从istorie WHERE replaceKeywords,就像“%$keyword%”只给我1个结果一样,查询值测试,blaI想转义字符,但我不能,转义时我有0个结果,带,-和黑色空格。。。但无法从istorie WHERE replaceKeywords,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,中选择id、标题、链接、poza、alt、关键字,如“%$keywords%”-0结果,两个查询为1-test,bla和另一个test,bla未使用,如果从istorie WHERE replaceKeywords,就像“%$keyword%”只给我1个结果一样,查询值test,bla