在将它们插入sql数据库之前,我使用mysql_real_escape_string()来验证所有用户输入.其中一个字段是名称,我们遇到了像O'Reilly这样名字的用户的问题.有没有办法使用mysql_real_escape_string()来阻止注入但是在db中允许这些名称?
问题很可能是撇号被引用两次:首先是邪恶的,并且在5.3 魔术引号中被弃用,然后是mysql_real_escape_string().
你能做的要么是关闭魔术引号或运行stripslashes()您的输入值,之前他们喂养mysql_real_escape_string()
问题简要说明:
O'ReillyO\'ReillyO\\\'ReillyO\'Reilly