sql注入(预编译)

sql预处理就是提前告诉sql语法处理器,提前声明且编译特定格式的sql语句,将所有用户的输入视为纯字符串参数,最后组成查询语句

php使用预处理的步骤

1,连接到数据库

2,设置预处理语句的结构

3,用户输入

4,执行sql语句

$stmt=$conn->prepare('SELECT  1 FROM user WHERE username=? AND password=?');

//设置预处理的语句结构,?表示要填入的用户输入

$input_username="root";

$input_password="12345678"

$stmt->bind_param("ss",$input_username,$input_password);

  //绑定参数,以变量引用形式 不要直接填字符串

$stmt->execute();

//执行语句

 $sql="INSERT INTO user(user_first,user_last,age)VALUES(?,?,?)";
   $stmt=$conn->prepare($sql);
   $stmt->bind_param("sss",$user_first,$user_last,$age);

  •   “sss” 参数列处理其余参数的数据类型。s 字符告诉数据库该参数为字符串。
  • 参数有以下四种类型:

i - integer(整型)
d - double(双精度浮点型)
s - string(字符串)
b - BLOB(布尔值)

php使用mysql预处理语句

如何预防sql注入 

你可能感兴趣的:(mysql学习笔记,sql,数据库,database)