广告
返回顶部
首页 > 资讯 > 后端开发 > 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=”/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()过滤一下。

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php如何实现插入数据库并进行转义操作
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php如何实现插入数据库并进行转义操作?php 写入数据库时特殊字符串处理(何时转义特殊字符)在处理MySQL和GET、POST的数据时,常常要对数据的引号进行转义操作。...
    99+
    2015-03-18
    php 转义
  • 如何用python实现操纵mysql数据库插入
    这篇文章主要讲解了“如何用python实现操纵mysql数据库插入”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用python实现操纵mysql数据库插入”吧!python操纵mysql...
    99+
    2023-06-28
  • php如何操作数据库进行模糊删除
    本篇内容主要讲解“php如何操作数据库进行模糊删除”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何操作数据库进行模糊删除”吧!连接数据库在进行数据库操作之前,需要先连接数据库。可以使用 ...
    99+
    2023-07-05
  • 使用Java如何连接MySQL数据库并进行操作
    这篇文章给大家介绍使用Java如何连接MySQL数据库并进行操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 连接数据库  (1) 下载Mysql连接驱动网址: http://dev.mysql.com/down...
    99+
    2023-05-31
    java mysql 数据库
  • MySQL中数据表如何实现数据插入、更新、删除操作
    小编给大家分享一下MySQL中数据表如何实现数据插入、更新、删除操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、插入数据 ...
    99+
    2022-10-18
  • Oracle数据库如何实现连接Java并操作
    今天就跟大家聊聊有关Oracle数据库如何实现连接Java并操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。建立连接public class DbConn { private s...
    99+
    2023-05-31
    java oracle 数据库
  • 如何使用PHP查询数据库数值进行操作
    PHP是一种非常流行的服务器端编程语言,广泛用于Web开发。在Web开发中,PHP通常与数据库一起使用,以更好地管理和操作数据。在本文中,我们将介绍如何使用PHP查询数据库数值进行操作。首先,我们需要连接到数据库。PHP提供了许多库和扩展来...
    99+
    2023-05-14
    php 数据库
  • 如何在VS Code连接MySql数据库并进行查询操作
    这期内容当中小编将会给大家带来有关如何在VS Code连接MySql数据库并进行查询操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用方法Step1. 安装 Visual Studio CodeVS ...
    99+
    2023-06-06
  • php如何实现数据库操作类的封装
    这篇文章主要为大家展示了“php如何实现数据库操作类的封装”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php如何实现数据库操作类的封装”这篇文章吧。具体内容如...
    99+
    2022-10-19
  • 如何使用PHP进行数据库查找和修改操作
    在Web开发中,数据库是不可或缺的一部分。PHP作为一种流行的Web编程语言,与各种数据库系统集成得非常好。在PHP中,MySQL是最常用的关系型数据库系统之一。在PHP中,数据库操作通常分为查找和修改两大类。查找操作是指从数据库中获取数据...
    99+
    2023-05-14
    php 数据库
  • php如何实现商品添加功能并写入数据库
    这篇文章主要介绍了php如何实现商品添加功能并写入数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何实现商品添加功能并写入数据库文章都会有所收获,下面我们一起来看看吧。数据库表 写入数据的...
    99+
    2023-07-05
  • 使用Hibernate如何实现对数据库进行增删改查操作
    使用Hibernate如何实现对数据库进行增删改查操作?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Hibernate对数据删除操作删除User表中个一条数据,是需要更具U...
    99+
    2023-05-31
    hibernate 数据库 增删改查
  • 使用Mybatis如何实现对数据库进行增删改查操作
    本篇文章为大家展示了使用Mybatis如何实现对数据库进行增删改查操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么是 MyBatis?MyBatis 是支持普通 SQL 查询,存储过程和高级映...
    99+
    2023-05-31
    mybatis 增删改查 数据库
  • Spring mvc使用mybatis如何实现连接并操作mysql数据库
    本篇文章给大家分享的是有关Spring mvc使用mybatis如何实现连接并操作mysql数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、web.xml配置我们都知道...
    99+
    2023-05-31
    springmvc mybatis mysql
  • PHP+MySQL如何实现数据库的增删改查操作
    今天小编给大家分享一下PHP+MySQL如何实现数据库的增删改查操作的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、环境配...
    99+
    2023-07-05
  • 如何使用PHP脚本在Linux环境下进行数据库操作
    在现代web应用程序中,数据库是必不可少的组成部分。PHP是一种流行的服务器端脚本语言,它可以与各种数据库进行交互。本文将介绍如何在Linux环境下使用PHP脚本进行数据库操作,并提供一些具体的代码示例。步骤1:安装必要的软件和依赖项在开始...
    99+
    2023-10-21
    Linux PHP 数据库操作
  • mysql如何实现查询结果导出csv文件及导入csv文件到数据库操作_Mysql
    小编给大家分享一下mysql如何实现查询结果导出csv文件及导入csv文件到数据库操作_Mysql,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一...
    99+
    2022-10-18
  • 如何实现PHP连接数据库,通过面向过程方法实现最基本的增删改查操作
    如何实现PHP连接数据库,通过面向过程方法实现最基本的增删改查操作?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、PHP连接...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作