mysql数据库函数转义函数_MySql数据库-查询、插入数据时转义函数的使用

最近在看一部php的基础视频教程,在做案例的时,当通过用户名查询用户信息的时候,先使用了转义函数对客户提交的内容进行过滤之后再交给sql语句进行后续的操作。虽然能看到转义函数本身的作用,但是仍然有一些疑惑。

疑惑一:当转义数据后,数据中会增加一些反斜杠,为了能查找出对应的数据,那么原来存在数据库中的数据是不是也已经被保存成含有反斜杠的了?

疑惑二:转义数据后再向数据库中插入数据,保存在数据库中的数据是否会含有过滤后的反斜杠?

带着这些疑问对用户提交的表单进行测试。

echo get_magic_quotes_gpc();  // 获取当前 magic_quotes_gpc的配置选项设置,如果开启了就会返回1,否则返回0

$title = $_POST[‘title‘];

$sql = insert into news(`title`) values(‘". $title ."‘);

如果不适用mysql_real_escape_string()转义函数,当接收的数据中包含单引号时就会引起sql错误。

$title = mysql_real_escape_string($_POST[‘title‘]);

转义过后再进行插入数据就不会出现上面的问题,而且插入到数据库中的数据和输入时的一样,不会带有转义时增加的反斜杠。

当查询数据时,也是按照输入时的内容与数据库进行比较,也能查询出相应的结果。

由此推论,mysql_real_escape_string()转义函数只在sql语句执行的过程中起到保护作用,并不会对结果产生影响。

将过滤函数贴出来。

1 function check_input($value)2 {3 //去除斜杠

4 if (get_magic_quotes_gpc())5 {6 $value = stripslashes($value);7 }8 //如果不是数字则加引号

9 if (!is_numeric($value))10 {11 $value = mysql_real_escape_string($value);12 }13 return $value;14 }

以上是自己的理解,与大家分享,如果有误还请大家批评指正。

原文:http://www.cnblogs.com/iverson-3/p/6920438.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python pyquery安装_win7下python安装pyquery

安装pyquery之前首先要明确一点,easyinstall 是一款python包管理器,类似于node的npm,用于安装python的扩展包,它安装的包是以*.egg的方式。要安装pq需要经历以下步骤:1:下载easyinstall设置环境变量&#x…

DbContext 和ObjectContext两者的区别

一是ObjectContext是一种模型优先的开发模式,DbContext是代码优先的开发模式。这是两者最根本的区别。 同时两者之间可以相互转换: 下面给出转换的例子 1 DbContext转为ObjectContext using System.Data.Entity.Infrastructure ObjectContext context (…

mysql的简介与优点_SQL 简介以及MySQL的优点

原文摘自:W3school。还有一些是本人自己整理的SQL 是用于访问和处理数据库的标准的计算机语言。什么是SQL?SQL 指结构化查询语言SQL 使我们有能力访问数据库SQL 是一种ANSI的标准计算机语言注:ANSI,美国国家标准化组织SQL能做什么…

反射之关于MethodInfo的使用

1、MethodInfo类是在System.Reflection命名空间底下,既然是在Reflection空间底下。故名思议关于反射相关的操作,其中比较重要的方法是Invoke()方法,它是加载相同程序集的方法。简单用法 string command "AnnouncementSave"; //通过…

vue添加定位功能_Vue如何实现锚点定位功能?

整个链路应该是这样的,用户在消息中心中看到回复自己的信息,点进去后会跳到视频播放页面,页面url中会带上此次消息的replyId(就简称rid吧),然后接下来的问题就是有两个,一个是评论本身是分页的,你的评论不一…

织梦直接往数据库写入数据

x: 不是必须的 1: 值为1 0: 值为0转载于:https://www.cnblogs.com/bushe/p/4425298.html

wshttpbinding java_WCF自定义用户账号密码之WCF系结模式wsHttpBinding的Java调用

再回到编辑Web服务属性设定画面﹐刚刚所点击的[使用开发默认值]的复选框如果已经有被勾选了﹐请将勾选取消。然后先离开编辑Web服务属性设定画面。1.7. 加入CallbackHandler 档案这里需要加入一个继承CallbackHandler的档案TrustStoreCallbackHandler.javapublic class TrustSt…

.jardesc文件

第一次导出jar文件的时候可以选择记录配置到一个这样的文件中;下次导出的时候,点这个文件->右键->创建jar(或双击),就可以重新生成jar文件了转载于:https://www.cnblogs.com/erbin/p/4427997.html

java中postMethod_HttpClient结合PostMethod调用接口

解决方法:HttpClient client new HttpClient();PostMethod post new PostMethod("http://192.168.0.189:8500/short");post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charsetutf-8");// 在头文件中设…

WPF 颜色转换

从字符串到画刷: var converter new System.Windows.Media.BrushConverter(); var brush (Brush)converter.ConvertFromString("#FFFFFF90"); Fill brush; 转载于:https://www.cnblogs.com/xpvincent/p/4431514.html

android指纹java_Android

Android M指纹的资料太少,经过一段时间阅读原生Android代码,写了以下例子,贡献出来给需要帮助的人。以下内容基于64位的高通CPU,搭载fpc1020芯片,此部分代码在原生android上做了更改,以应付工厂指纹的测试。…

about-ie下模拟input file上传功能失效

Q:IE9下file提交到iframe中,load一直不触发,其他高级浏览器均无此问题 解决方案:不使用js模拟 input click事件,取而代之的是把真实的input设置为要触发元素的大小,进行触发onchange原因分析:低…

java把收集的数据节点_java面试题收集(04)

1、rebbitmq的使用场景有哪些?(1)单发送单接受使用场景:简单的发送与接受,没有特别的处理。(2)单发送多接受使用场景:一个发送端,多个接收端,如分布式的任务发布,要保证消息发送的可靠性&#x…

go java gc_图解Golang的GC垃圾回收算法

虽然Golang的GC自打一开始,就被人所诟病,但是经过这么多年的发展,Golang的GC已经改善了非常多,变得非常优秀了。以下是Golang GC算法的里程碑:v1.1 STWv1.3 Mark STW, Sweep 并行v1.5 三色标记法v1.8 hybrid write bar…

统计学的经典书籍指南 (转载自:http://blog.csdn.net/ysuncn/article/details/1943679)...

一、统计学基础部分 1、《统计学》 David Freedman等著,魏宗舒,施锡铨等译 中国统计出版社 据说是统计思想讲得最好的一本书,读了部分章节,受益很多。整本书几乎没有公式,但是讲到了统计思想的精髓。 2、《Mind on …

Linux Bash Shell j简单入门

BASH 的基本语法 最简单的例子 —— Hello World! 关于输入、输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1 最简单的例子 —— Hello World! 几乎所有的讲解编程的书给读者的第一个例子都是 …

jpa mysql脚本迁移_JPA通过LOAD DATA LOCAL INFILE大批量导入数据到MySQL

连接层代码:import org.hibernate.Session;import org.hibernate.internal.SessionFactoryImpl;import org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLE…

javascript的事件冒泡,阻止事件冒泡和事件委托, 事件委托是事件冒泡的一个应用。...

2018年12月13日更新 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>ul li{border: 1px solid yellow;}</style> </head> <body> <p hidden>…

php 序列化 java_PHP--序列化与反序列化详解

PHP--序列化与反序列化详解博客说明文章所涉及的资料来自互联网整理和个人总结&#xff0c;意在于个人学习和经验汇总&#xff0c;如有什么地方侵权&#xff0c;请联系本人删除&#xff0c;谢谢&#xff01;说明所有php里面的值都可以使用函数serialize()来返回一个包含字节流的…

hadoop2.x的变化

HDFS Federation&#xff08;HDFS联邦&#xff09; HDFS有两个主要层&#xff1a; Namespace 由目录、文件和块组成&#xff1b;支持所有命名空间对文件和目录的操作。 Block Storage Service 由Block Management和Storage组成。 Block Management 提供dataNode集群成员关系&am…