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里面的单引号在前面加了一个转义反斜线字符。

  • 相关阅读:
    xPath用法
    http post 接口
    关于WSSE验证-- 一种验证用户的方法
    java资源文件解读
    dom4j读取xml
    docker安装mysql
    php.ini配置max_execution_time和FPM配置request_terminate_timeout
    《高德拉特约束理论》
    Python爬虫-播报天气信息(生成exe文件)待续
    pyhon-爬虫实战抓取豆瓣top250到mysql
  • 原文地址:https://www.cnblogs.com/eastson/p/2837896.html
Copyright © 2011-2022 走看看