转载链接:http://developer.51cto.com/art/200911/165392.htm

我们今天要向大家介绍的是PHP magic_quotes_gpc的具体使用方法。大家都知道在PHP中一个特殊的函数魔术函数,它在引用的过程中只有在传递$_GET,$_POST,$_COOKIE时才会发生作用。

  • PHP函数preg_split的正确使用方法
  • 解读PHP函数explode()的具体使用方法
  • PHP函数implode()与explode()函数的不同
  • PHP类CMS如何自动获取关键字
  • 探讨PHP函数split()如何使用正则表达式切

1.
条件: PHP magic_quotes_gpc=off
写入数据库的字符串未经过任何过滤处理。从数据库读出的字符串也未作任何处理。

数据:  $data=”snow”’’sun” ; (snow和sun之间是四个连续的单引号).

操作: 将字符串:”snow”’’sun” 写入数据库,

结果: 出现sql语句错误,mysql不能顺利完成sql语句,写入数据库失败。

数据库保存格式:无数据。

输出数据格式:无数据。

说明: 对于未经处理的单引号在写入数据库时会使sql语句发生错误。

2.
条件: PHP magic_quotes_gpc=off
写入数据库的字符串经过函数addlashes()处理。从数据库读出的字符串未作任何处理。

数据:  $data=”snow”’’sun” ; (snow和sun之间是四个连续的单引号).

操作: 将字符串:”snow”’’sun” 写入数据库,

结果: sql语句顺利执行,数据成功写入数据库

数据库保存格式:snow”’’sun (和输入一样)

输出数据格式:snow”’’sun (和输入一样)

说明: addslashes()函数将单引号转换为\’的转义字符使sql语句成功执行,
但\’并未作为数据存入数据库,数据库保存的是snow”’’sun 而并不是我们想象的snow\’\’\’\’sun

3.
条件: PHP magic_quotes_gpc=on
写入数据库的字符串未经过任何处理。从数据库读出的字符串未作任何处理。

数据:  $data=”snow”’’sun” ; (snow和sun之间是四个连续的单引号).

操作: 将字符串:”snow”’’sun” 写入数据库,

结果: sql语句顺利执行,数据成功写入数据库

数据库保存格式:snow”’’sun (和输入一样)

输出数据格式:snow”’’sun (和输入一样)

说明: PHP magic_quotes_gpc=on 将单引号转换为\’的转义字符使sql语句成功执行,
但\’并未作为数据入数据库,数据库保存的是snow”’’sun而并不是我们想象的snow\’\’\’\’sun。

4.
条件: PHP magic_quotes_gpc=on
写入数据库的字符串经过函数addlashes()处理。从数据库读出的字符串未作任何处理。

数据:  $data=”snow”’’sun” ; (snow和sun之间是四个连续的单引号).

操作: 将字符串:”snow”’’sun” 写入数据库,

结果: sql语句顺利执行,数据成功写入数据库

数据库保存格式:snow\’\’\’\’sun (添加了转义字符)

输出数据格式:snow\’\’\’\’sun (添加了转义字符)

说明: PHP magic_quotes_gpc=on 将单引号转换为\’的转义字符使sql语句成功执行,
addslashes又将即将写入数据库的单引号转换为\’,后者的转换被作为数据写入
数据库,数据库保存的是snow\’\’\’\’sun

总结如下:
1. 对于PHP magic_quotes_gpc=on的情况,

我们可以不对输入和输出数据库的字符串数据作
addslashes()和stripslashes()的操作,数据也会正常显示。

如果此时你对输入的数据作了addslashes()处理,
那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。

2. 对于PHP magic_quotes_gpc=off 的情况

必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出
因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行。

补充:

PHP magic_quotes_gpc作用范围是:WEB客户服务端;作用时间:请求开始时,例如当脚本运行时.
magic_quotes_runtime 作用范围:从文件中读取的数据或执行exec()的结果或是从SQL查询中得到的;作用时间:每次当脚本访问运行状态中产生的数据

【责任编辑:曹凯 TEL:(010)68476606】

php 处理表单里面的 单双引号相关推荐

  1. MySQL数据库与Oracle数据库中建表使用单引号和双引号的效果

    一.Oracle数据库,使用单引号和双引号,以及不使用引号的区别 1.不使用引号,创建一个新表 -- 如果不使用引号,则表名和字段会自动转换成大写 create table Tatoo_Test(Na ...

  2. sqlserver之插入英文单(')、双引号('')问题

    一.背景 小伙伴们在使用sqlserver插入数据时,可能需要插入的字段含有英文单引号',或者英文双引号'',如何正常插入呢? 二.解决思路 下面这行代码能够正常插入 insert into [tab ...

  3. C++ 单双引号区别

    赢家只关注怎么赢,输家只关注赢家在干嘛 自己从 Python 转 C++,一个很严重的问题是搞不清引号怎么用.在 Python 中,单双引号无所谓,随便用,只要别混用就好.但是 C++ 明显不同,刚好 ...

  4. sql server 里面怎么支持数字使用双引号_国查:用中文编写SQL

    这两天被 文言(wenyan-lang)刷屏了,这个项目在于使用文言文进行编程,我打算蹭个热度,把年初的作品再捞一捞,即中文SQL. 1. 文言 Wenyan: 吾有一數.曰三.名之曰「甲」. 為是「 ...

  5. (王道408考研数据结构)第二章线性表-第三节3:循环单链表和循环双链表

    文章目录 一:循环链表定义 二:循环单链表 三:循环双链表 一:循环链表定义 循环链表:规定好头尾结点的指向形成成环状 循环单链表:其尾节点的next指针由原本的空改为指向头结点 循环双链表:其尾节点 ...

  6. js form表单转json字符串,json数组转json字符串出现多余的双引号问题解决

    功能介绍         页面展示的是一个用户的基本信息,和该用户对应的几台车辆的信息,车辆的字段属性都一样.然后可以编辑这些信息,再保存到后台.那么就需要考虑将车辆信息转换为json数组类型的字符串 ...

  7. ORA-00923: FROM keyword not found where expected(单双引号)

    1.前提 在学习oracel的过程中遇到的一个关于单双引号的问题 备注一下 2.学习过程中创建表语句是这样的 create table DEPT_DML --部门表 ( DEPT_NO NUMBER( ...

  8. python多行注释以三个英文_Python中多行注释可以包含在三对英文半角单引号('''''')或三对英文半角双引号(\\\...

    Python中多行注释可以包含在三对英文半角单引号('''''')或三对英文半角双引号(\"\"\"\"\"\")之间 答:√ 变化再现除了 ...

  9. java中双引号和单引号_Java中的单引号和双引号之间有区别吗?

    问题 Java中的单引号和双引号之间有区别吗? #1 热门回答(126 赞) 对于literalchar使用单引号,对于literalString使用双引号,如下所示: char c = 'a'; S ...

  10. 关于SQL语句中的双引号、单引号和

    http://hi.baidu.com/snowkylin/blog/item/bf5316a94db802b7cb130cc6.html 同时在此文的基础上我在补充几个常用的方法: sql=&quo ...

最新文章

  1. mysql存储base64位用什么类型_了解什么是存储引擎引发的MySQL面试3连问
  2. 第九周项目二-我的数组类
  3. 和Facebook竞争,社交平台Mico怎样在1年内获得3000万用户?
  4. 我的世界服务器端口文件夹,我的世界手机版服务器ip端口地址大全
  5. N Problems During K Days
  6. Linux关机和重启命令总结
  7. monolith_将Java EE Monolith雕刻成微服务
  8. Spring Batch中面向TaskletStep的处理
  9. PHP随笔---简述var_dump()、print_r()、echo()
  10. python索引例子_Python实现带下标索引的遍历操作示例
  11. Linux保护文件实现,Linux完整性保护机制模块实现分析(1)
  12. DataTable查询。
  13. eps如何建立立体白模_EPS 三维测图系统(垂直摄影)快速入门手册.pdf
  14. 深度解析,抖音对口型唱歌类短视频内容制作流程,步骤技巧分享
  15. tar 压缩文件夹到指定的目录
  16. 计算机图形学---纹理及纹理隐射
  17. 2021,自动驾驶的“五代十国”
  18. java 字符串 哈希值_Java 获取字符串Hash值
  19. 06-适配器模式Quarkus实现
  20. 清华大学计算机系前景好么,华为正式宣布选择西工大,而不是清华计算机系,网友:为什么?...

热门文章

  1. java 无法加载资源,JavaScript:无法加载资源:服务器响应状态为404(未找到)
  2. 安卓手机python数据可视化_python 数据可视化
  3. 解决Centos 7 VNC黑屏
  4. c语言16进制按10进制输出,C语言编程:写一个函数,输入一个16进制数,输出相应的10进制数。...
  5. 数据库垂直拆分和水平拆分
  6. 盘点9个你可能不会用的JS技巧
  7. 程序员养生:熬夜指南
  8. 【基础】C#异常处理的总结
  9. linux 动态执行cp,Linux常用命令之cp、mv、rm、cat、more、head、tail、ln命令讲解
  10. 和菜鸟一起学linux之DBUS基础学习记录