博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
87)PHP,PDO的预编译技术
阅读量:5161 次
发布时间:2019-06-13

本文共 1030 字,大约阅读时间需要 3 分钟。

(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,‘绿地’);

 

语法的实现:

    

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

 

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

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

 预编译的优点:

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

普通的执行方法:

      $pdo->query();

      $pdo->exec()

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

 

    

 

转载于:https://www.cnblogs.com/xiaoyoucai/p/7397163.html

你可能感兴趣的文章
Problem E: Automatic Editing
查看>>
SpringBoot 使用 MyBatis 分页插件 PageHelper 进行分页查询
查看>>
《DSP using MATLAB》Problem 6.17
查看>>
微信公众平台开发实战Java版之如何网页授权获取用户基本信息
查看>>
一周TDD小结
查看>>
sizeof与strlen的用法
查看>>
Linux 下常见目录及其功能
查看>>
开源框架中常用的php函数
查看>>
nginx 的提升多个小文件访问的性能模块
查看>>
set&map
查看>>
集合类总结
查看>>
4.AE中的缩放,书签
查看>>
CVE-2014-6321 && MS14-066 Microsoft Schannel Remote Code Execution Vulnerability Analysis
查看>>
给一次重新选择的机会_您还会选择程序员吗?
查看>>
Mysql MHA高可用集群架构
查看>>
心急的C小加
查看>>
编译原理 First,Follow,select集求法
查看>>
(一一二)图文混排中特殊文字的点击与事件处理
查看>>
iPhone开发经典语录集锦 (转)
查看>>
SVM基础必备常识
查看>>