PHPstripslashes和addslashes的区别

当我们将数据写入MySQL时,例如:

复制代码代码如下所示:
mysql_query(更新表设置`标题` = 'kuhanzhu的博客);


那就错了。在ASP,数据库是单引号,过敏和addslashes在这时间最长的脸,作为ASP的更换相同(',kuhanzhu的博客)。

PHP已经引入了一个magic_quotes_gpc =功能安全。无需任何处理,可以直接将单引号插入数据库中。在关闭时,需要考虑单引号的问题,而不是盲目地信任运行环境。

当magic_quotes_gpc =上(addslashes),使用存储在数据库中的数据将在'的形式,如果直接输出,你会发现自己在期待一个以上的内容,stripslashes(玩),所以它可以删除(区别于str_replace(,$ STR))。

当magic_quotes_gpc =关闭,进行addslashes()的数据将被保存在形式不需要使用stripslashes形式()。

Addslashes()和()stripslashes刚好相反,直接内存:addslashes()加,stripslashes()去。

那你什么时候用它

简单的说:

当magic_quotes_gpc =,系统自动处理单引号和其他问题。这不要紧,如果addslashes()和()stripslashes使用,但如果addslashes()添加到数据,stripslashes()必须显示在显示数据。

当magic_quotes_gpc =关闭,系统不处理单引号和其他问题。所以当插入数据,必须使用addslashes(),和stripslashes()时不需要显示的数据。

既然有一个分析,该怎么办呢根据以上两种情况,有可能:

无论magic_quotes_gpc是打开或关闭,当我们添加数据,用addslashes。在使用时,stripslashes(),不得使用。

如何判断或关闭使用get_magic_quotes_gpc()。

最后,举例来说:

复制代码代码如下所示:
代码
提交数据或变量:
$content = addslashes(这是数据,是否有一个单引号或变量)。
将数据插入数据库中,省略了代码。
显示数据
$ =从数据库中读取的数据;
如果(get_magic_quotes_gpc()){
$content = stripslashes(内容);
}
回波内容;