码迷,mamicode.com
首页 > Web开发 > 详细

87)PHP,PDO的预编译技术

时间:2017-08-19 18:46:45      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:value   数据   固定   区别   span   str   dos   编译技术   sql注入   

(1)

      技术分享

  比如以下的语句:

1 insert into  biao1 values(‘李宁’,‘100’);
2 insert into  biao1 values(‘安踏’,‘100’);
3 insert into  biao1 values(‘匹克’,‘100’);
4 insert into  biao1 values(‘乔丹’,‘100’);
5 insert into  biao1 values(‘耐克’,‘100’);
6 insert into  biao1 values(‘阿迪’,‘100’);
7 insert into  biao1 values(‘361’,‘100’);

那么,这个PDO就可以只是编译一次这些语句相同的地方,然后,根据区别来执行不同的语句。

1 或者比如
2 insert into team values(NULL,‘国安’);
3 insert into team values(NULL,‘恒大’);
4 insert into team values(NULL,‘建国’);
5 insert into team values(NULL,‘绿地’);

 

语法的实现:

    

11)编译统一的结构,
22)绑定数据到中间编译结果上,
33)执行绑定了数据的语句
11)编译统一的结构,
2             $PDOStatement = $pdo->prepare(SQL的结构);
3             SQL结构中的数据部分,可以使用问好,或者冒号标签的语法来占用:

技术分享

 

技术分享

12)绑定数据到中间编译结果上,
2              $PDOStatement->bindValue()

技术分享

13)执行绑定了数据的语句    
2               $PDOStatement->execute();

技术分享

 预编译的优点:

      更好的防止SQL注入,是因为预编译时,不需要用户的数据参与。编译时,结构固定,导致用户数据不能影响到SQL的结构

普通的执行方法:

      $pdo->query();

      $pdo->exec()

如果需要防止SQL注入,需要人为的转义用户数据,使用的方式是$pdo->quote()方法。转义并使用引号包裹。

 

    

 

87)PHP,PDO的预编译技术

标签:value   数据   固定   区别   span   str   dos   编译技术   sql注入   

原文地址:http://www.cnblogs.com/xiaoyoucai/p/7397163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!