stripslashes()函数的作用_strip和strap的区别

stripslashes()函数的作用_strip和strap的区别我们在向mysql写入数据时,比如:

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

我们在向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()。

PHP在默认配置情况下是会自动转移 post 过来的数据的,要先stripslashes()之后再存入数据库,也就是说默认:magic_quotes_gpc = On

最后举例:

 

代码

//这是为了防止没有转义的情况下数据库出现插入错误,插入数据到数据库,代码省略

//获取内容,如果服务器没有设置自动转义(特殊字符加上/),就将数据中的特殊符号进行转义(防止数据库中存储出现错误)
 if(!get_magic_quotes_gpc()){

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

————————————————————————————————————————

//查询出来的内容由于在出入数据库中的时候转义了,这里再转义回来
   $onedsContent=stripslashes($onedsContent);

查看文档:http://baike.baidu.com/link?url=-_IZ2lBVP3EpK215R7PeWNuBh9xeVmeuqBrtK_Q6dXZM1gwXhgTH4aZnuKURzj4e4lWCHVqCxx4WKGSI2i2jxq

扎客小站:www.ezhake.com

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178796.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月30日 上午7:16
下一篇 2022年8月30日 上午7:16


相关推荐

  • Typora常用好看主题推荐!!!

    Typora常用好看主题推荐!!!Typora 常用好看主题推荐 Typora 是一款支持实时预览的 Markdown 文本编辑器 它有 OSX Windows Linux 三个平台的版本 并且是完全免费的 在作者心里 Typora 的存在是简约而强大的 加上作者是艺术生出身 对于主题和颜色的美观是有一定要求 所以喜欢收集好看简约的主题 现有几款觉得好看的分享给大家 先挂几个链接 以便同样喜欢自己研究主题的小伙伴参考 Typora 官网主题 https theme typora io 为 Typora 编写自定义主题

    2026年3月20日
    3
  • Vue.js高效前端开发 • 【初识Vue.js】

    1.1Vue概述1.1.1Web前端框架介绍近几年,互联网前端行业发展得依旧迅猛,涌现出了很多优秀的JavaScript框架,同时这些JavaScript框架也正在逐渐改变统的前端开发方式。在这些新出现的JavaScript框架中,最具代表性的框架有Angular.js、React.js和Vue.js。1.1.2MVC和MVVMMVC是著名的设计模式,基本思想是将软件结构分解为Model(模型)、View(视图)和Controller(控制器)三部分组成。Model:主要负责数据处理和

    2022年4月9日
    41
  • 替腾讯委屈的程序员,在委屈什么?

    替腾讯委屈的程序员,在委屈什么?

    2026年3月16日
    2
  • JS Array ECMAScript5 Methods

    JavaScript的新版本(ECMAScript5)中,为数组新增了一些方法。这些方法包括:forEach(f[,o]):此方法类似于for/in循环,其作用是遍历整个数组并执行函数的某些

    2021年12月22日
    40
  • Nginx的默认端口是_https默认端口

    Nginx的默认端口是_https默认端口我们前面一篇说了nginx的默认端口是80,可是空说无凭,我们用事实来说话。我们首先用whereisnginx.conf来看一下哪些目录里面有nginx.conf文件,我们看到了一共有6个目录,这里是应该分别到这六个文件里面去看一下,但是由于我们提前找过了,是/etc/nginx这个目录,所以我们就直接到该目录下面,即采用cd来切换目录,下图已经把这个文件标出来了。接着,我们查看…

    2025年10月8日
    6
  • Rational License Key Error的解决办法

    Rational License Key Error的解决办法使用 IBMRationalR 的时候可能出现 RationalLice 的弹出框 如下图 解决办法 下载安装包 点我下载 如果有提取码 则提取码是 eb6z 下载完成之后解压到 IBMRationalR 安装目录下的 Common 目录下面 执行全部替换操作 然后就可以成功打开了

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号