Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在任何人询问之前,我mysql_real_escape_string()都会在每个 INSERT 上使用。但是,我希望用户能够键入撇号,但它们会以反斜杠出现。但是,我也希望他们能够使用反斜杠。
mysql_real_escape_string()
用户是受信任的,但是否可以允许这些字符同时防止 SQL 注入的可能性?
是的,只需使用参数化查询。
看看这个答案
基本概念是在添加参数之前编译您的搜索查询,从而使 SQL 注入成为不可能。
您可以使用函数 strip_slashes 删除撇号插入的所有斜线。
因此,您使用 mysql_real_escape_string() 将数据插入数据库。然后,当您想将数据拉到前端时,您可以通过函数 stripslashes() 运行它,它将删除所有斜杠。
您还应该考虑使用 mysqli,因为不推荐使用 mysql。