防止SQL注入的方法

方法1⃣️addslashes();

$username=addslashes($_POST['username']);

方法2⃣️mysql_escape_string();

方法3⃣️开启魔术引号

方法4⃣️控制用户输入的数据,如:

使用intval防止sql注入,intval()可以把变量转成整数类型,适用于接收纯整数数据
  $id=intval($_GET['id']);

方法5⃣️用PDO对象的quote()方法控制用户输入的数据:

  会返回带引号的字符串,并通过反斜线转义来过滤字符串中的特殊字符

用法:  $username=$_POST(username);

     $username=$pdo->quote($username);

方法6⃣️用PDO对象的prepare()、excute()方法:

用法:

  命名占位符形式1⃣️:

      $username=$_POST(username);

      $passwd=$_POST(passwd);

      $sql="select * from users where username=:a and passwd=:b ;";

      $stmt=$pdo->prepare($sql);

      $stmt->execute(array(:a=>$username,:b=>$passwd));

  问号占位符形式2⃣️:

      $username=$_POST(username);

      $passwd=$_POST(passwd);

      $sql="select * from users where username=and passwd=? ;";

      $stmt=$pdo->prepare($sql);

      $stmt->execute(array($username,$passwd));

原文地址:https://www.cnblogs.com/yaohunzhanyue/p/5667832.html