<input id="tt" name="tt" />$sql = mysql_query("SELECT * FROM www WHERE tt='$tt'");
这样直接带入查询是不是不安全啊,怎么样防止sql注入啊

解决方案 »

  1.   

    最好用sqli或pdo的prepare来执行sql,或者过滤下引号、分号之类的符号
      

  2.   


    能给个写法吗?或者给个相关教程网址sql安全第一次接触,啥都不懂
      

  3.   

    <?php
    /* 通过绑定的 PHP 变量执行一条预处理语句  */
    $calories = 150;
    $colour = 'red';
    $sth = $dbh->prepare('SELECT name, colour, calories
        FROM fruit
        WHERE calories < :calories AND colour = :colour');
    $sth->bindParam(':calories', $calories, PDO::PARAM_INT);
    $sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
    $sth->execute();
      

  4.   

    直接带入肯定是不安全的!
    推荐使用mysqli 或者 pdo的预处理来处理sql
    mysql的话用mysql_real_escape_string() 函数处理下参数
      

  5.   

    推荐使用Pdo 预处理机制 来防止sql注入