在插入或更新查询(而不是选择查询)中,mysql_real_sescape_string真的有必要吗


Is mysql_real_escape_string really necessary in insert or update query other than a select query?

mysql_real_escape_string()被用作防止MySQL注入的安全措施,同时从数据库中提取数据。但是,在插入或更新语句的情况下,它真的有必要吗?如果是,为什么?

我认为您对mysql_real_eescape_string()的理解有缺陷。

在将用户输入插入SQL查询的任何时候,都需要转义该字符串。所以,是的,当运行insert和update语句时,您绝对会转义。

例如,当攻击方将SQL查询插入注册表时,就会执行SQL注入攻击(mysql_real_eescape_string()可以帮助防止)。注册表中的字符串很可能会插入SQL数据库中。

是的,插入和更新查询同样容易受到SQL注入的攻击。不过,建议使用PDO。