php mysql_real_escape_string函数用法与实例教程

 更新时间:2016年11月25日 16:39  点击:1527
转义特殊字符在unescaped_string,考虑到当前字符的连接设置,以便它在的地方是安全的在mysql_query()它。如果二进制数据要插入,这个函数必须被使用。

mysql教程_real_escape_string - 转义特殊字符的SQL语句中使用字符串

string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )

 

mysql_real_escape_string()调用MySQL的库函数mysql_real_escape_string,其中prepends反斜杠以下字符: x00 ñ ṛ,,',“和但X1a。

这个函数必须始终(除了少数例外)被用来制作发送之前查询到MySQL数据的安全。

unescaped_string
该字符串进行转义。

link_identifier
MySQL的连接。如果没有指定连接标识符,最后一个环节开幕mysql_connect()函数假设。如果没有这样的链接被发现,它会尝试创建一个犹如mysql_connect()是不带参数调用。如果没有找到或建立连接,一会生成一条E_WARNING级别的错误。

实例一

<?php教程
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    OR die(mysql_error());

// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
            mysql_real_escape_string($user),
            mysql_real_escape_string($password));
?>

实例二

<?php
// Query database to check if there are any matching users
$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);

// We didn't check $_POST['password'], it could be anything the user wanted! For example:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";

// This means the query sent to MySQL would be:
echo $query;
?>
查询发送到MySQL:

选择*从用户的WHERE用户='艾丹'和password = ''或''=''
这将允许任何人登录没有有效的密码。

 代码如下 复制代码

$conn=mysql_connect("127.0.0.1","root","root");
 mysql_select_db("ip");
 $sql="select * from adminblog  ";
 $result=mysql_query($sql,$conn);
    
 while($rs=mysql_fetch_array($result))
        {
   echo $rs->username;
   echo $rs->password;
  }
//运行代码提示Notice: Trying to get property of non-object 好了,我们现在修改一下

while($rs=mysql_fetch_array($result))
        {
   echo $rs['username'];
   echo $rs['password'];
  }


 //输出结果: adsense 5498bef14143cd98627fb0560cb5ded6
//现在来看一个mysql_fetch_object的实例

 

 

 代码如下 复制代码
while($rs=mysql_fetch_object($result))
        {
   echo $rs['username'];
   
  }

//运行后出来 Fatal error: Cannot use object of type stdClass as array in 说这不是一个数组

 

 代码如下 复制代码
while($rs=mysql_fetch_object($result))
        {
   echo $rs->username;
   
  }

//输出结果为 adsense
/*
总结:
mysql_fetch_object 把记录作来一个对象来处理,像我们用类时就要用->访问
mysql_fetch_array 把记录保存到一个数据所以可以用$rs['下标名'] 或$rs[0]数组编号

本站原创教程转载注明来源http://www.111cn.net/phper/php.html

用mssql_init语句用于初始化存储过程,而后调用mssql_bind语句指定存储过程参数,最后调用mssql_execute执行存储过程。

//连接mssql数据库教程服务器

 代码如下 复制代码
 $link = mssql_connect("127.0.0.1", "sa", "sa") or die("Can't connect sql server");
    mssql_select_db("frrc", $link) or die("Select database failure");

//初始化并加载存储过程 Bigdatabase

 代码如下 复制代码
     $stmt = mssql_init("Bigdatabase", $link) or die("initialize stored procedure failure");  
  mssql_bind($stmt, "@pagesize", $pagesize, SQLINT4);
  mssql_bind($stmt, "@start", $start, SQLINT4);
  @$ms_result = mssql_execute($stmt, false);
  mssql_query("DUMP TRANSACTION tempdb WITH NO_LOG");
  
  do{
   while( $ms_rs = mssql_fetch_object($ms_result) )
   {
    //进行数据处理
   }
  }

// msssql  存储过程 Bigdatabase如下

 代码如下 复制代码
/*
CREATE PROCEDURE Bigdatabase
@pagesize int,
@start int  
AS
declare @bsql nvarchar(4000)
set @bsql = 'select top ' + str(@pagesize) + ' username,jobid,password,useremail,zcdata,ip,name,xingbie,minzu,xueli,hunyin,age,xuexiao,zyclass,zhuanye,x_suozaidi,x_suozaidi1,huji,huji1,shengao,byear,birthyear,birthmonth,birthday,dianhua,qq,gerenzhuye,selectedjob1,selectedjob2,selectedjob3,s_PWL1,s_PWL2,s_PWL3,daiyuyaoqiu,Negotiable,provideHouseNeeded,availOpts,availNotice,llcs,CONVERT(varchar(100),dlsj, 25) as dlsj,xgsj,dlcs,jsjshuiping,language_one,l_OneAbility,language_two,l_twoAbility,mandarinLevel,skillkey,jingyan,photopb,photo,phototre,mbsys,codetype,code,shouji,posts,address,jobtype,convert(varchar(8000),pingjia) as pingjia ,convert(varchar(8000),jinengzhuanchang) as jinengzhuanchang ,convert(varchar(8000),fazhanfangxiang) as fazhanfangxiang,convert(varchar(8000),other) as other from person where id not in(select top ' + str(@start) + ' id from person   order by id asc)   order by id asc '
execute sp_executesql @bsql
GO

注:必须把text转换成varchar来处理,否则会出问题

本站原创文章转载注明来源于www.111cn.net 中国WEB第一站

感觉php与mysql mssql数据库处理函数上只是前缀不同了,下面来看实例就知道了。

 $link = mssql_connect("localhost", "sa", "sa") or die("不能联连上mssql 服务器");
    mssql_select_db("test", $link) or die("数据库连接失败");

 
 //创建mssql查询语句
 

 代码如下 复制代码
 $ms_sql = "select * from works where username ='www.111cn.net'";
 $mss_rs = mssql_query( $ms_sql );
 
 if( mssql_num_rows( $mss_rs ) )
 {  
  while( $mss_rs = mssql_fetch_object( $mss_rs ))
  {
   echo "输出值...";
  }
 }
 else
 {
  echo '记录不存在';
 }


 
 /*
 
 注明:
 mssql_query 执行查询
 mssql_num_rows 统计记录条数
 mssql_fetch_object 把数据保存到一个对象
 mssql_select_db 选择数据库
 mssql_connect 数据库连接
 本文章原创于www.111cn.net转载注明来源

/*
 * Created on 2010-4-25
 *
 * To change the template for this generated file go to
 * Window - Preferences - PHPeclips教程e - PHP - Code Templates
 */
 $conn=mysql_connect('localhost','root','');
 mysql_select_db('member',$conn);


 $sql="select * from user_list";
 $query=mysql_query($sql);
 while($row=mysql_fetch_array($query))
 {
?>
<table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef">
<tr bgcolor="#eff3ff">
  <td>id:<?=$row[uid]?> 用户:<?=$row[username] ?></td>
  </tr>
  <tr bgColor="#ffffff">
  <td>密码:<?=$row[password]?></td>
  </tr>
<a href="del.php?id=<?=$row[uid]?>">删除</a>
 <? }?>
</table>

数据库结构,把此代码复制到phpmyadmin运行


SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- 数据库: `member`
--

-- --------------------------------------------------------

--
-- 表的结构 `user_list`
--

CREATE TABLE `user_list` (
  `uid` int(11) NOT NULL auto_increment,
  `m_id` varchar(5) NOT NULL,
  `username` varchar(25) NOT NULL,
  `password` varchar(64) NOT NULL,
  PRIMARY KEY  (`uid`)
) ENGINE=MyISAM  DEFAULT CHARSET=gb2312 AUTO_INCREMENT=11 ;

--
-- 导出表中的数据 `user_list`
--

INSERT INTO `user_list` (`uid`, `m_id`, `username`, `password`) VALUES
(9, '1', 'admin', '75cf565ad38d0f837c43363e402b1a00'),
(10, '2', 'admin2', '75cf565ad38d0f837c43363e402b1a00');

 

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • C#中using的三种用法

    using 指令有两个用途: 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 为命名空间创建别名。 using 关键字还用来创建 using 语句 定义一个范围,将在此...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • PHP加密解密函数详解

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30
  • php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法

    最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的。最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天原因,最后找到了问题所在。 1.使用 PEAR 的...2015-10-21
  • C#中加载dll并调用其函数的实现方法

    下面小编就为大家带来一篇C#中加载dll并调用其函数的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • C#虚函数用法实例分析

    这篇文章主要介绍了C#虚函数用法,实例分析了C#中虚函数的功能与基本使用技巧,需要的朋友可以参考下...2020-06-25