博客列表 >1126 这家伙写的PDO预处理可能和你学的不一样

1126 这家伙写的PDO预处理可能和你学的不一样

酒淋后
酒淋后原创
2020年12月22日 22:50:49593浏览

PDO预处理步骤:

  1. 先提取相同结构的SQL部分!将数据部分可变的部分去掉;
  2. 编译这个相同的结构,将编译结果保存;
  3. 再加不同的数据部分进行替换;
  4. 执行代码;

制作相同结构的SQL语句:

方法一:使用占位符“:value”来代替真正的数据:

  1. $sql = "INSERT INTO student(name,age) values(:name,:age)";

方法二:使用占位符”?”来代替真正的数据:

  1. $sql = "INSERT INTO student(name,age) values(?,?)";

预编译相同结构的SQL语句:

第一步:使用占位符“:value”来代替真正的数据:

  1. $sql = "INSERT INTO student(name,age) values(:name,:age)";

第二步:预编译相同结构的SQL语句返回结果及对象:

  1. $PDOStatement = $pdo->prepare($sql);

给占位符绑定真正的数据:

方法一:

  1. $PDOStatement ->bindvalue(":name","酒淋后");
  2. $PDOStatement ->bindvalue(":age",18);

方法二:

  1. $PDOStatement ->bindvalue("1","酒淋后");
  2. $PDOStatement ->bindvalue("2",18);

执行绑定数据的SQL语句:

  1. $PDOStatement->exectute();

备注:

  1. 通过上一次编译SQL语句然后缓存,可以提高运行速度,减少编译次数;
  2. 防SQL注入;
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议