php mysql_real_escape_string函数用法与实例教程

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 = ''或''=''
这将允许任何人登录没有有效的密码。

时间: 2024-10-24 23:04:14

php mysql_real_escape_string函数用法与实例教程的相关文章

php mysql_real_escape_string函数用法与实例教程_php基础

转义特殊字符在unescaped_string,考虑到当前字符的连接设置,以便它在的地方是安全的在mysql_query()它.如果二进制数据要插入,这个函数必须被使用 下列字符受影响: \x00 \n \r \ ' " \x1a 如果成功,则该函数返回被转义的字符串.如果失败,则返回 false. 语法 mysql_real_escape_string(string,connection) 参数 描述 string 必需.规定要转义的字符串. connection 可选.规定 MySQL 连接

strip_tags 函数用法与实例教程

定义和用法 该strip_tags ( )函数作用却除所有HTML , XML和PHP的标记. 语法 strip_tags(string,allow) 参数 说明 string 必需的.指定的字符串检查 allow 任择.指定允许的标签.这些标签不会被删除 提示和说明注意:评论的HTML总是剥夺.这不能改变的允许参数. 范例1   <?php echo strip_tags("Hello <b>world!</b>"); ?> 结果为. Hello

PHP ord() 函数作用及实例教程

PHP ord() 函数作用及实例教程 定义和用法 在ord( )函数返回的ASCII值的第一个字符的字符串. 语法 ord(string) Parameter Description string Required. The string to get an ASCII value from 来看个ord实例. <?php echo ord("h")."<br />"; echo ord("hello")."<

sql having用法与实例教程

sql having用法与实例教程 HAVING子句是可选的,结合使用group by子句.它类似于Where子句,但经条款规定的限制,确定哪些记录后,将显示他们已进行分组.它通常都处于SQL语句的结束,一个HAVING子句的SQL语句可能会也可能不包括group by子句. 对于拥有语法如下: SELECT column1, ... column_n, aggregate_function (expression) FROM table_name [WHERE condition] [GROU

ThinkPHP中I(),U(),$this-&amp;gt;post()等函数用法_php实例

本文实例讲述了ThinkPHP中I(),U(),$this->post()等函数的用法.分享给大家供大家参考.具体方法如下: 在ThinkPHP中在控制器中接受表单的数据可以使用如下方法: 1.$_POST[]/$_GET[],但是这个接受的表单内容不会通过htmlspecialchars();函数进行过滤.如果想使用这个接收数据,需要手动处理表单数据 2.可以用接收表单函数 复制代码 代码如下: $this->_post();$this->_get();,这个函数默认就会使用htmls

javascript replace 函数应用与实例教程

定义和用法 stringobject.replace(regexp/substr,replacement) replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 看个实例 <script type="text/网页特效"> var str="visit microsoft!" document.write(str.replace(/microsoft/, "w3school")) <

php strftime函数与strftime实例教程

格式化时间和/或日期按区域设置.月份和星期几以及其它和语言有关的字符串当前语言环境的设置与那么setlocale(). 不是所有的转换说明符,可支持您的C库,在这种情况下,他们不会将PHP的strftime()的支持.此外,并不是所有的平台的支持负的时间戳,因此您的日期范围可能仅限于不早于Unix的时代.这意味着,一样%e,%吨,%R和,%d个(或其他) - 以及1月1日之前的日期 - 1970年将无法工作在Windows,一些Linux发行版本,以及其他一些操作系统.对于Windows系统,支

php命令行用法入门实例教程_php技巧

本文实例讲述了php命令行用法,分享给大家供大家参考.具体用法分析如下: Php是一个非常流行的web服务端脚本语言.其实,php不仅仅可以在web服务器中充当重要角色.在命令行一样可以执行.   本文中,笔者为各位介绍下php在命令行中的使用方法. 1.查看php的版本.配置 在命令行中输入php –v 即可查看当前php的版本. 复制代码 代码如下: PHP 5.2.17(cli) (built: Feb  2 2011 11:19:21)  Copyright (c) 1997-2010

php switch case用法与实例教程

php switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分,通常为变量名称.而 case 后的 exprN,通常表示变量值.冒号后则为符合该条件要执行的部分.注意要用 break 跳离循环. switch与if 区别是   用 if 循环就很麻烦了.当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率,Switch 语句可以避免冗长的 if..elseif..else 代码块. switch (expr) {