zoukankan      html  css  js  c++  java
  • UCHome: 转义mysql_escape_string()

    在查询数据库时,很多时候我们会在查询的条件中包含反斜线(/),双引号("),单引号(')。这三种符号在SQL语句中通常都有着特殊的含义,不能直接使用。

    mysql_escape_string()可以帮我们解决这个问题。

    假设这样一个例子:客户端有一个HTML表单,表单里面有一个input输入框,名称为item。当使用者在item输入框输入如下内容:Zak's Laptop,然后点击提交按钮。服务端在收到这个请求时该如何处理呢?

    不正确的处理方式:

    <?php
    $item = $_REQUEST[‘item’];
    $sql_query = "SELECT * FROM admin_items WHERE item_name = '$item'";
    printf ("SQL: %s\n", $sql_query);
    ?> 

    输出结果:

    SQL: SELECT * FROM admin_items WHERE item_name = 'Zak's Laptop' 

    从结果可以看书,输出的SQL很明显就是错误的。正确的处理方式:

    <?php
    $item = mysql_escape_string($_REQUEST[‘item’]);
    $sql_query = "SELECT * FROM admin_items WHERE item_name = '$item'";
    printf ("SQL: %s\n", $sql_query);
    ?>

    输出结果:

    SQL: SELECT * FROM admin_items WHERE item_name = 'Zak\'s Laptop' 

    可以看出,mysql_escape_string()函数为$item里面的单引号在前面加了一个转义反斜线字符。

  • 相关阅读:
    hadoop 2.5.1 、Hadoop 2.7 Hadoop 2.6
    二 JDK + mysql + yum + rpm
    一 SSH 无密码登陆 & Linux防火墙 & SELinux关闭
    ZooKeeper 配置注意事项 zoo.cfg
    ZooKeeper 特性
    分布式锁
    悲观锁和乐观锁
    windows上配置mysql主从复制
    C# 同步调用、异步调用、异步回调
    C#方法回调
  • 原文地址:https://www.cnblogs.com/eastson/p/2837896.html
Copyright © 2011-2022 走看看