PHP中addslashes和stripslashes的应用

42 篇文章 0 订阅
42 篇文章 0 订阅

addslashes()和stripslashes()正好是相反的,addslashes()加个\(反斜杠),stripslashes()去个\(反斜杠)

向mysql写入数据时,如:mysql_query("update tableName set `title`='goaler's blog'");PHP将会报错,因为数据库对单引号过敏。

PHP考虑到其安全性,引入了magic_quotes_gpc = On/Off 这个参数。

magic_quotes_gpc = On时,系统会自动处理单引号等问题,可以在不做任何处理的情况下就直接将含有单引号的数据插入数据库中,如果使用addslashes()处理数据,数据在数据库中将以\'形式保存,此时直接输出的话,就会发现比自己原先输入的内容多了个\(反斜杠),这时需要用stripslashes()把自动加上去的\(反斜杠)去掉,这跟str_replace("\", "",$str)不同。

magic_quotes_gpc = Off时,系统不会处理单引号等问题,需要考虑单引号的问题了,不能一味地信任其运行环境,如果使用addslashes()处理数据,数据在数据库中将以'形式保存,不存在上面说的有\(反斜杠)的问题,addslashes()起到插入数据不出错的作用,此时直接输出的话数据正常,不需要再用stripslashes()。

判断magic_quotes_gpc是On还是Off方法:function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc();true是On,false是Off。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值