Jtti广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php如何实现插入数据库并进行转义操作
  • 700
分享到

php如何实现插入数据库并进行转义操作

php转义 2015-03-18 18:03:17 700人浏览 无得
摘要

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php如何实现插入数据库并进行转义操作?php 写入数据库时特殊字符串处理(何时转义特殊字符)在处理Mysql和GET、POST的数据时,常常要对数据的引号进行转义操作。

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php如何实现插入数据库并进行转义操作?

php 写入数据库时特殊字符串处理(何时转义特殊字符)

在处理Mysql和GET、POST的数据时,常常要对数据的引号进行转义操作。

PHP中有三个设置可以实现自动对’(单引号),”(双引号),\(反斜线)和 NULL 字符转转。

PHP称之为魔术引号,这三项设置分别是

magic_quotes_gpc

影响到 Http 请求数据(GET,POST 和 COOKIE)。不能在运行时改变。在 PHP 中默认值为 on。

这个开启时,通过GET,POST,COOKIE传递的数据会自动被转义。

如 test.php?id=abc'de"f

echo $_GET['id']; # 会得到 abc\'de\"f

magic_quotes_gpc=On; 这个开启了,对写入数据库是没有影响的,比如 上面的$_GET['id'] 写到数据库里面,依然是 abc'de"f ,

相反,如果magic_quotes_gpc=Off; 那么字符中要带有引号(不管单引号还是双引号) ,直接写入mysql都会直接变成空白

但是,如果你将它写入文档,而非mysql。那么它将是 abc\'de\"f

magic_quotes_runtime

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

magic_quotes_sybase

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

我表单内容本来是:<img alt=”" width=”400″ height=”300″ src="https://www.lsjlt.com/skin/default/image/lazy.gif" class="lazy" data-original="”/Upfiles/201105/images/1306657040.jpg"” />
<img alt=\”\” width=\”400\” height=\”300\” src="https://www.lsjlt.com/skin/default/image/lazy.gif" class="lazy" data-original="\”/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="https://www.lsjlt.com/skin/default/image/lazy.gif" class="lazy" data-original="”/Upfiles/201105/images/1306657040.jpg"” />读出来又成了

<img alt=\”\” width=\”400\” height=\”300\” src="https://www.lsjlt.com/skin/default/image/lazy.gif" class="lazy" data-original="\”/Upfiles/201105/images/1306657040.jpg"\” />(这个应该知道怎么解决了吧?要不我再罗嗦下吧)

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

stripslashes() 这个函数 ,删除由addslashes()函数添加的反斜杠。用于清理从数据库或 html 表单中取回的数据

PHP页面中如果不希望出现以下情况:

单引号被转义为 \'

双引号被转义为 \"

那么可以进行如下设置以防止:

在php.ini中设置:magic_quotes_gpc = Off)

总结如下:

对于magic_quotes_gpc=on的情况,

我们可以不对输入和输出数据库的字符串数据作

addslashes()和stripslashes()的操作,数据也会正常显示。

如果此时你对输入的数据作了addslashes()处理,

那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。

对于magic_quotes_gpc=off 的情况

必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出

因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行。

全文:http://blog.csdn.net/qinglianluan/article/details/26272689

php get_magic_quotes_gpc()函数用法介绍

http://www.php100.com/html/php/hanshu/2013/0905/4689.html //可以这样理解:该函数是判断服务器《转义特殊字符》功能有没有开启。

addslashes()

全文:http://php.net/manual/zh/function.addslashes.php //该函数是将特殊字符进行转义为普通字符。

--结束END--

本文标题: php如何实现插入数据库并进行转义操作

本文链接: https://www.lsjlt.com/news/279.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用Java如何连接MySQL数据库并进行操作
    这篇文章给大家介绍使用Java如何连接MySQL数据库并进行操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 连接数据库  (1) 下载Mysql连接驱动网址: http://dev.mysql.com/down...
    562
    2023-09-29
    java mysql 数据库
  • 如何在VS Code连接MySql数据库并进行查询操作
    这期内容当中小编将会给大家带来有关如何在VS Code连接MySql数据库并进行查询操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用方法Step1. 安装 Visual Studio CodeVS ...
    212
    2023-09-29
  • django如何连接mysql数据库并进行数据库的创建
    这篇文章主要介绍了django如何连接mysql数据库并进行数据库的创建的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇django如何连接mysql数据库并进行数据库的创建文章都会有所收获,下面我们一起来看看吧...
    401
    2023-09-29
  • php如何实现数据库操作类的封装
    这篇文章主要为大家展示了“php如何实现数据库操作类的封装”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php如何实现数据库操作类的封装”这篇文章吧。具体内容如...
    338
    2023-09-29
    php 数据库
  • 使用Java怎么连接MongoDB数据库并进行增删改查操作
    使用Java怎么连接MongoDB数据库并进行增删改查操作?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java连接MongoDB进行增删改查的操作1.创建数据库的连接,进...
    726
    2023-09-29
    java mongodb 增删改查
  • Linux下连接Oracle数据库并进行一系列操作
    Linux下操作Oracle数据库 操作Oracle要确保服务器上已经安装了Oracle数据库 1.连接到有Oracle数据库的服务器 ssh 172.16.100.201 (服务器IP)如图 2.根据提示,输入服务器root密码,输入无...
    665
    2023-09-29
    数据库 oracle 服务器
  • 使用Mybatis如何实现对数据库进行增删改查操作
    本篇文章为大家展示了使用Mybatis如何实现对数据库进行增删改查操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么是 MyBatis?MyBatis 是支持普通 SQL 查询,存储过程和高级映...
    174
    2023-09-29
    mybatis 增删改查 数据库
  • 使用Hibernate如何实现对数据库进行增删改查操作
    使用Hibernate如何实现对数据库进行增删改查操作?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Hibernate对数据删除操作删除User表中个一条数据,是需要更具U...
    794
    2023-09-29
    hibernate 数据库 增删改查
  • 如何实现Django与数据库进行交互
    这篇文章主要介绍如何实现Django与数据库进行交互,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1 如何创建项目数据库首先,在虚拟机数据库中建立一个与项目同名的数据库,方便管理。(django_test) ...
    216
    2023-09-29
  • php如何操作数据库进行模糊删除
    本篇内容主要讲解“php如何操作数据库进行模糊删除”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何操作数据库进行模糊删除”吧!连接数据库在进行数据库操作之前,需要先连接数据库。可以使用 ...
    239
    2023-09-29
  • 数据库中如何实现大量数据快速插入方法
    这篇文章将为大家详细讲解有关数据库中如何实现大量数据快速插入方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1     ...
    278
    2023-09-29
    数据库
  • php登录不用数据库如何实现
    这篇文章主要讲解了“php登录不用数据库如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php登录不用数据库如何实现”吧!php登录不用数据库的实现方法:1、创建好一个index.ph...
    360
    2023-09-29
  • PHP如何实现MySQL数据库分区
    本篇内容介绍了“PHP如何实现MySQL数据库分区”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、MySQL数据库分区MySQL数据库分区...
    274
    2023-09-29
  • PHP如何实现MySQL数据库分表
    本篇内容介绍了“PHP如何实现MySQL数据库分表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、MySQL分表的概念MySQL分表是将一...
    289
    2023-09-29
  • PHP如何实现MySQL数据库集群
    这篇文章主要讲解了“PHP如何实现MySQL数据库集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP如何实现MySQL数据库集群”吧!一、MySQL数据库集群概述MySQL数据库集群是...
    246
    2023-09-29
  • MYSQL数据库插入数据的基本操作
    下文主要给大家带来MYSQL数据库插入数据的基本操作,希望这些内容能够带给大家实际用处,这也是我编辑MYSQL数据库插入数据的基本操作这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。插入数据在建立一...
    986
    2023-09-29
    mysql数据库 l数据库
  • 用python操作mysql数据库(之简单“插入数据”操作)
    #!/usr/bin/env python # -*- coding: utf-8 -*- ''' 1、这里的数据库环境为本地数据库 2、我要通过pytho...
    129
    2023-09-29
    python
  • 怎么运用PHP进行数据库操作类
    这篇文章主要为大家展示了“怎么运用PHP进行数据库操作类”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么运用PHP进行数据库操作类”这篇文章吧。PHP高级实战...
    594
    2023-09-29
    php 数据库
  • 如何使用PHP查询数据库数值进行操作
    PHP是一种非常流行的服务器端编程语言,广泛用于Web开发。在Web开发中,PHP通常与数据库一起使用,以更好地管理和操作数据。在本文中,我们将介绍如何使用PHP查询数据库数值进行操作。首先,我们需要连接到数据库。PHP提供了许多库和扩展来...
    327
    2023-09-29
    php 数据库
  • 关于django连接mysql数据库并进行数据库的创建的问题
    目录1、首先在终端打开数据库2、在django的settings.py文件里找到DATABASES进行修改3、在django的models.py里添加一个类用来添加表。4、打开pyc...
    616
    2023-09-29
    django连接mysql数据库 django数据库的创建
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作