带有特殊字符的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上工作)。     

要回复问题请先登录注册