我的问题看似微不足道,但是我没有找到任何“好的”解决方案。

首先是一个我听到很多答案的问题,我们什么时候需要使用mysql_real_escape_string()解析字符串?我的想法是仅在将用户给定数据存储在数据库中时才需要它,这是遵循的好规则吗?

我的第二个问题就是真正的问题。当我用mysql_real_escape_string()解析字符串时,它将在字符串中的任何有害字符之前添加特殊字符\,例如。如果函数找到了',则将在其后附加\,因此结果为\'

好吧,那很好,问题是当我从数据库中读取相同的字符串时,我也得到了\字符。有什么好的方法可以消除\字符?
我曾经想到的是使用str_replace("\\","",$string),但这是一种很好且安全的方法吗?

谢谢你们!

最佳答案

首先,不建议使用mysql_real_escape_string。检查是否启用了magic_quotes:

echo "Magic quotes is " . (get_magic_quotes_gpc() ? "ON" : "OFF");


或者您可以使用stripslashes

关于php - 摆脱mysql_real_escape_string()解析字符串上的\字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11959123/

10-11 03:19
查看更多