微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有特殊字符的php mysql LIKE无法正常工作

如何解决带有特殊字符的php mysql LIKE无法正常工作

| 所以我试图做一个类似的查询并获得一些结果,但是我传递的文本中有一些打破查询的特殊字符。 如果我们假设文本是这样的:
var test `select` `query`=\"$newval + \"dsadsa$ ? \"$test ?
而且我在列中也有与VARCHAR完全相同的文本 然后执行查询
SELECT * FROM table WHERE column LIKE \'%$text%\'
说没有行要返回。 编辑:当我在数据库中发布数据时,我只是使用MysqL真正的转义字符串,当我在单击搜索的地方显示文本时,我将htmlentities放在文本上 然后我将其从0替换为50并执行搜索查询     

解决方法

        您可以使用mysql_real_escape_string()来转义字符串中的任何特殊字符。     ,        尝试避免将变量直接写入字符串,这可能会导致问题(+确实不是很好):
mysql_query(\"SELECT * FROM table WHERE column LIKE \'%\" . $text . \"%\'\");
当然,请确保
$text
变量是正确的(
echo $text
),转义字符也可能会引起问题,当然也可能有许多其他原因导致问题(这取决于应用程序的体系结构-在ѭ3work上工作)。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。