Php SQL搜索数据库中具有特殊字符的字符串

Php SQL搜索数据库中具有特殊字符的字符串,php,mysql,sql,Php,Mysql,Sql,我试图用特殊字符在数据库中搜索,特别是带撇号的字符串 例如,我想搜索字符串:“Sandy’s dog”,但我只输入了“sandys dog”,省去了撇号。尽管“桑迪的狗”存在于数据库中,但它似乎没有在结果中显示出来 我的问题是: SELECT * FROM `Table` WHERE `Title` LIKE '%sandys dog%' 我到处都找遍了,似乎找不到有效的解决办法 编辑 限制:字符串由用户生成 笔记: -如果用户用撇号搜索桑迪的狗,它的工作正常。 -最后,如果表中同时包含带撇

我试图用特殊字符在数据库中搜索,特别是带撇号的字符串

例如,我想搜索字符串:“Sandy’s dog”,但我只输入了“sandys dog”,省去了撇号。尽管“桑迪的狗”存在于数据库中,但它似乎没有在结果中显示出来

我的问题是:

SELECT *  FROM `Table` WHERE `Title` LIKE '%sandys dog%'
我到处都找遍了,似乎找不到有效的解决办法

编辑 限制:字符串由用户生成 笔记: -如果用户用撇号搜索桑迪的狗,它的工作正常。
-最后,如果表中同时包含带撇号和不带撇号的字符串,我希望得到所有可能的结果。

请尝试使用转义序列

类似于,
从标题为“%sandy's dog%”的表格中选择*
这个怎么样

SELECT * FROM Table WHERE Title LIKE '%sandy''s dog%'


下划线是一个“单字符”通配符。

在SQL server中,可以使用替换:

SELECT * 
FROM Table
WHERE REPLACE(Title, '''', '') LIKE '%sandys dog%'

字符串中的双撇号是转义字符,因此它会查找字符串中的任何撇号,并将其替换为空白字符串。

为什么不使用参数化查询并搜索实际值?您可以从标题为“%sandy%s dog%”的表中执行
SELECT*
或从标题为“%sandy\u dog%”的表中执行
SELECT*
然后,请将此答案标记为正确@Ivy。同样,它也将帮助其他用户轻松找到这个答案。
SELECT * 
FROM Table
WHERE REPLACE(Title, '''', '') LIKE '%sandys dog%'