真正的转义字符串和PDO

这个问题在这里已经有了答案:

  • 我如何防止PHP中的SQL注入? 28个答案

  • 您应该使用PDO准备

    从链接:

    对于将使用不同参数值多次发布的语句,调用PDO :: prepare()和PDOStatement :: execute()可以通过允许驱动程序协商查询计划的客户端和/或服务器端缓存来优化应用程序的性能,元信息,并且通过不需要手动引用参数来帮助防止SQL注入攻击


    PDO提供了一种设计替代mysql_escape_string()PDO :: quote()方法的替代方案。

    以下是PHP网站的摘录:

    <?php
        $conn = new PDO('sqlite:/home/lynn/music.sql3');
    
        /* Simple string */
        $string = 'Nice';
        print "Unquoted string: $stringn";
        print "Quoted string: " . $conn->quote($string) . "n";
    ?>
    

    上面的代码将输出:

    Unquoted string: Nice
    Quoted string: 'Nice'
    

    使用预准备的语句 那些保持数据和语法分开,这消除了逃避MySQL数据的需要。 参见例如本教程。

    链接地址: http://www.djcxy.com/p/16723.html

    上一篇: real escape string and PDO

    下一篇: How to deal with Apostrophe while writing into Mysql database