php插入含有特殊符号数据的解决方法-创新互联

这篇文章主要介绍“php插入含有特殊符号数据的解决方法”,在日常操作中,相信很多人在php插入含有特殊符号数据的解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php插入含有特殊符号数据的解决方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联公司主营溧水网站建设的网络公司,主营网站建设方案,成都app软件开发,溧水h5成都微信小程序搭建,溧水网站营销推广欢迎溧水等地区企业咨询

发现问题

当我们在向mysql写入数据时,如果数据中有特殊字符就会出现数据无法正常入库的情况,比如:

mysql_query(”update table set `name`='make's'”);

而这个时候一般就是使用addslashes()这个函数来转义数据中的特殊字符


处理方法

PHP为了安全性,所以引入了个magic_quotes_gpc = On的功能,可以不需要做任何处理就能直接把单引号插入数据库中,那么对于Off时,则需要考虑单引号的问题了,而不是一味地信任运行环境。


magic_quotes_gpc = On时,使用了addslashes()处理后的数据在数据库中将以\'形式保存,如果此时直接输出的话,就会发现比自己期待的内容多了个\,因此stripslashes()出场了,它能把\去掉(区别于str_replace(”\”, “”,$Str))。


magic_quotes_gpc = Off时,使用了addslashes()处理后的数据在数据库中将以'形式保存,没有上面说的有\的问题,addslashes()起到插入数据不出错的作用,如果此时直接输出的话,数据正常。不需要再用stripslashes()


addslashes()stripslashes()正好是相反的,直接记忆:addslashes()加个\,stripslashes()去个\


那么什么时候用呢?

简单说:


magic_quotes_gpc = On时,系统会自动处理单引号等问题,用不用addslashes()stripslashes()都没关系,但是如果添加数据时用了addslashes() , 那么显示数据时必须要stripslashes()


magic_quotes_gpc = Off时,系统不会处理单引号等问题,所以插入数据时必须要使用addslashes(),显示数据时则不需要使用stripslashes()


既然有了分析,做程序时要怎么办呢?根据以上两种情况,可得:


不管magic_quotes_gpc是On还是Off,咱添加数据时都用addslashes() ,当On时,必须使用stripslashes(),Off时则不能用stripslashes()

到此,关于“php插入含有特殊符号数据的解决方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网站标题:php插入含有特殊符号数据的解决方法-创新互联
文章地址:http://scyanting.com/article/cdoshd.html