当magic_quotes_gpc = On时,使用了addslashes()处理后的数据在数据库中将以\’形式保存,若是此时直接输出的话,就会发现比本身期待的内容多了个\,所以 stripslashes()出场了,它能把\去掉(区别于str_replace(”\”, “”,$Str))。 数据库
当magic_quotes_gpc = Off时,使用了addslashes()处理后的数据在数据库中将以’形式保存,没有上面说的有\的问题,addslashes()起到插入数据不出错 的做用,若是此时直接输出的话,数据正常。不须要再用stripslashes()。addslashes()和stripslashes()正好是相反 的,直接记忆:addslashes()加个\,stripslashes()去个\那么何时用呢? ip
简单说:当magic_quotes_gpc = On时,系统会自动处理单引号等问题,用不用addslashes()和stripslashes()都不要紧,可是若是添加数据时用了 addslashes(),那么显示数据时必需要stripslashes()当magic_quotes_gpc = Off时,系统不会处理单引号等问题,因此插入数据时必需要使用addslashes(),显示数据时则不须要使用stripslashes()。既然有 了分析,作程序时要怎么办呢?根据以上两种状况,可得:无论magic_quotes_gpc是On仍是Off,咱添加数据时都用 addslashes(),当On时,必须使用stripslashes(),Off时则不能用stripslashes()。如何判断On仍是Off 呢?用get_magic_quotes_gpc()。 get