专栏首页我的博客PHP引号转义(解决POST,GET,Mysql数据自动转义问题)

PHP引号转义(解决POST,GET,Mysql数据自动转义问题)

      今天做了一个小项目,给别人之后发现post数据被自动转义了,我郁闷了半天,我google了一下发现是PHP魔术引号在作怪。。。我煞费苦心终于找到了原因,可是怎么解决呢?百度。。。google。。。其实都挺好的

在处理mysql和GET、POST的数据时,常常要对数据的引号进行转义操作。 PHP中有三个设置可以实现自动对’(单引号),”(双引号),\(反斜线)和 NULL 字符转转。 PHP称之为魔术引号,这三项设置分别是 magic_quotes_gpc 影响到 HTTP 请求数据(GET,POST 和 COOKIE)。不能在运行时改变。在 PHP 中默认值为 on。

magic_quotes_runtime 如果打开的话,大部份从外部来源取得数据并返回的函数,包括从数据库和文本文件,所返回的数据都会被反斜线转义。该选项可在运行的时改变,在 PHP 中的默认值为 off。

magic_quotes_sybase 如果打开的话,将会使用单引号对单引号进行转义而非反斜线。此选项会完全覆盖 magic_quotes_gpc。如果同时打开两个选项的话,单引号将会被转义成 ”。而双引号、反斜线 和 NULL 字符将不会进行转义。

我表单内容本来是:<img alt=”” width=”400″ height=”300″ src=”/Upfiles/201105/images/1306657040.jpg” />

<img alt=\”\” width=\”400\” height=\”300\” src=\”/Upfiles/201105/images/1306657040.jpg\” />

对策一:修改php.ini文件(修改php.ini这个方法就不说了,大家可以google下)

对策二:把转义的给取消了

第一步:找到你提交的数据比如$_POST[‘content’],将其改成$content=stripslashes($_POST[‘content’]);

第二步:以后在使用$POST[‘content’]的地方都换成$content

第三步:提交到数据库,数据库储存还是正常的:<img alt=”” width=”400″ height=”300″ src=”/Upfiles/201105/images/1306657040.jpg” />读出来又成了

<img alt=\”\” width=\”400\” height=\”300\” src=\”/Upfiles/201105/images/1306657040.jpg\” />(这个应该知道怎么解决了吧?要不我再罗嗦下吧)

 第四步:将数据库读取的内容再用stripslashes()过滤一下。

PS:遇到问题,不要慌乱,要弄清问题原因,然后百度或者google下,就是找不到解决办法去论坛发帖求助的时候也知道是出了什么原因,这样高手看到也能一目了然。有人发求助帖总是喜欢用“高手请进”、“十万火急”等等词语作为标题。(一家之言,高手见笑了。呵呵)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python文件操作

    #!/usr/bin/python # -*- coding: utf-8 -*- import os path = os.getcwd() file_list...

    苦咖啡
  • 原生JavaScript第三天

    1.日期时间 var obj=new Date(); //alert(obj);//不同浏览器显示不同 var year=obj.getFullYear();...

    苦咖啡
  • PHP5.4新特性trait

    php //代码片段1 class Hello { public $id = 2; public function __constru...

    苦咖啡
  • nodejs 14.0.0源码分析之链表

    theanarkh
  • sklearn调包侠之逻辑回归

    罗罗攀
  • OpenCV4中如何使用Mask RCNN网络

    Mask-RCNN可以看成是在Faster-RCNN的基础上多出一个分支实现的实例分割网络二值化mask层输出,而且这个分支mask分割网络是全卷积网络,结构显...

    OpenCV学堂
  • SAP BSP页面里,每次在Text Area里敲字后如何统计输入的总字数

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • 通过document id和content拿到SAP document的binary data

    Jerry Wang
  • 深度学习训练时 GPU 温度过高?几行命令就可迅速降温!

    新买回来的不带水冷公版GPU,在满负载运行的时候,温度从室温马上飙升到85度,而且模型训练不是几分钟完事,很有可能要长期保持在高温状态下运行,让如此昂贵的GPU...

    AI研习社
  • 深度学习训练时GPU温度过高?几个命令,为你的GPU迅速降温。

    新买回来的不带水冷公版GPU,在满负载运行的时候,温度从室温马上飙升到85度,而且模型训练不是几分钟完事,很有可能要长期保持在高温状态下运行,让如此昂贵的GPU...

    用户1332428

扫码关注云+社区

领取腾讯云代金券