首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql_real_escape_string()会取消stripslashes()吗?

mysql_real_escape_string()会取消stripslashes()吗?
EN

Stack Overflow用户
提问于 2011-05-27 04:03:44
回答 1查看 2.6K关注 0票数 0

我让用户输入一些信息,这些信息将存储在sql中。当然,我想转义所有的引号等等..但我也不希望这些东西被输出到最终的html中。

我正在对所有的$_POST变量运行这个函数。它有效吗?

代码语言:javascript
复制
 function cleanArray($array)  //prevent funky insertions
{
foreach ($array as &$value)
{
    $value = mysql_real_escape_string(stripslashes(nl2br($value)));
}
return $array;  
}

我担心转义字符串和条带斜杠会相互抵消?

EN

回答 1

Stack Overflow用户

发布于 2011-05-27 04:05:44

要在将字符串数据插入数据库之前对其进行转义,请使用mysql_real_escape_string

若要稍后在超文本标记语言页中输出相同的数据,请使用htmlspecialchars() (如果希望将超文本标记语言源代码显示为文字字符),或使用strip_tags() (如果要静默删除任何超文本标记语言)。

不需要其他任何东西,除非您激活了magic quotes,在这种情况下,在执行mysql_real_escape_string()之前,您确实需要stripslashes()。然而,神奇的引号是deprecated and it would be much better to turn them off

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6144385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档