您当前的位置: 首页 > 网站编程 > PHP教程 > php stripslashes和addslashes的区别介绍

php stripslashes和addslashes的区别介绍

作者:不详 来源:网络 发布时间: 2014-08-07 21:03 点击:
这篇文章主要介绍了php stripslashes和addslashes的区别,特分享下方便需要的朋友。 我们在向mysql写入数据时,比如: 代码如下: mysql_query(update table set `title`='kuhanzhu's blog'); 那就会出错。同asp时一样,数据库都会对单引号过敏。而addslashes在这个时候

php stripslashes和addslashes的区别介绍

  这篇文章主要介绍了php stripslashes和addslashes的区别,特分享下方便需要的朋友。

  我们在向mysql写入数据时,比如:

  代码如下:

  mysql_query("update table set `title`='kuhanzhu's blog'");

  那就会出错。同asp时一样,数据库都会对单引号过敏。而addslashes在这个时候就最长面子了,跟asp的replace(”‘”,”””,”kuhanzhu's blog”)功能一样。

  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()。

  如何判断On还是Off呢?用get_magic_quotes_gpc()。

  最后举例:

  代码如下:

  代码

  //提交数据,或者变量准备:

  $Content=addslashes(”这里面是数据,不管有没单引号或者还是变量”);

  //插入数据到数据库,代码省略

  //开始显示数据

  $Content=”从数据库读取的数据”;

  if(get_magic_quotes_gpc()){

  $Content=stripslashes($Content);

  }

  echo $Content;
分享到:
本文"php stripslashes和addslashes的区别介绍"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4