在我的代码中,我使用addslashes来转义某些字符,同时将它们插入到数据库中,当我向外发送一些信息时,我使用stripslashes删除这些斜杠,情况是stripslashes函数删除了所有的斜杠,所以如果我需要发送任何包含反斜杠的字符串,这些字符串也会被删除。我如何才能保留那些必需的斜杠。
任何帮助都将不胜感激。
发布于 2009-08-17 06:26:04
您可能希望尝试使用mysql_real_escape_string。您不必取消转义它,并且它对于数据库的使用是安全的。
更好的方法是使用prepared statements
发布于 2009-08-17 06:35:39
在插入到数据库时,您可以尝试使用PDO准备好的语句,这样就不需要担心转义。
发布于 2009-08-17 11:33:14
在我的代码中,我使用添加斜杠来转义某些字符,同时将它们插入到数据库中,并且当我发送一些信息时,我使用带斜杠来删除这些斜杠……
你做错了。在查询中嵌入字符串时,必须对其进行转义。当数据从数据库中返回时,You do unescape data。没有要删除的斜杠。它们只存在于查询中,而不存在于数据库中。
除此之外,绑定参数/预准备语句要好得多,正如本线程中的其他人已经指出的那样。
https://stackoverflow.com/questions/1286419
复制相似问题