PDO预处理prepare
描述:
预处理语句prepare是pdo提供的一种db操作方式。其语言逻辑与正常的pdo访问相同。但区别于在prepare语句允许用户在【设置sql语句】与【执行sql语句】之间部分进行参数的注入与提取操作,而不是像正常的pdo访问一样直接将参数写死。
(1)prepare()方法和execute()方法
(2)bindValue()方法
(3)bindColumn()方法
正常pdo直接访问:设置sql语句→执行sql语句
预处理访问:设置sql语句→预处理sql语句→处理sql语句中参数→执行sql语句
prepare()方法和execute()方法
prepare()方法为预处理sql语句的方法,能够让pdo预先处理【半成品的】sql语句。并生成一个PDOStatementObject类型的结果。
execute()方法是提供给PDOSO类型对象去执行的【成品】sql语句的方法,并生成一个PDOStatementObject类型的结果。
说明:
交由pdo去prepare预处理的【半成品】sql语句,使用?问号作为占位符,表示待传参的参数。
prepare预处理必须只能处理【半成品】sql语句,如果是完整则需要使用exec方法执行并且会将结果存放到PDOSO对象中。
PDOSO对象在预处理的不同阶段有着不同的含义。
语法:
$sql = “insert info friendslist values(?,?,?)”;
$pdoso = $pdo->prepare( $sql);
echo $pdoso->execute(array(“我是美女”,“female”,99,123456789));
bindColumn()方法
允许将执行结果的一列数据绑定到一个指定对象上,本方法需要在execute()方法执行结束后在执行。
语法: $pdoso->bindColumn(index,指定变量);
说明:
1:第一个参数表示结果中的第几列数据。第一列就写1,以此类推。
2:第二个参数表示数据要赋值给那个变量,随便一个变量即可。
3:bindColumn()方法一次绑定一列给一个变量,如果绑定多个,则执行多次即可。
例子:
$sql = “select * from friendslist”;
$pdoso = $pdo-> prepare( $sql);
$pdoso -> execute();
$pdoso -> bindColumn(1, $friendsName);
$pdoso -> bindColumn(2, $friendsSex);
while( $row = $pdoso->fetch(PDO::FETCH_COLUMN)){
echo “{ $friendsName}”."----"."{ $friendsSex}"."< br/>";
}
bindValue()方法
bindValue()方法是提供给pdo预处理之后得到的PDOSO对象使用的方法,用来给【半成品】的sql语句进行传值。
语法:
$pdoso->bindValue(index,value);
说明:
1:第一个参数表示给sql语句中第几个参数传值,第一个就写1,以此类推。
2:第二个参数表示给sql语句中的对应参数传的具体的值。
3:bindValue一次绑定一个参数,如果有多个需要调用多次。
例子:
$sql = “insert into friendslist values(?,?,?,?)”;
$pdoso = $pdo -> prepare( $sql);
$pdoso-> bindValue(1,‘我是美女’);
$pdoso->bindValue(2,‘female’);
$pdoso->bindValue(3,666);
$pdoso->bindValue(4,1234567);
echo $pdoso->execute();
PDO预处理prepare相关推荐
- prepare的用法 php,PHP中的操作mysqli的预处理prepare
这篇文章主要介绍了关于PHP中的操作mysqli的预处理prepare ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 PHP中的操作mysqli的预处理prepare 1.[PHP错 ...
- php pdo 关闭,php pdo预处理
什么是预处理语句? 可以把它看作是想要运行的 SQL 的一种编译过的模板,它可以使用变量参数进行定制. 预处理语句可以带来两大好处: 查询仅需解析(或预处理)一次,但可以用相同或不同的参数执行多次.当 ...
- PDO预处理防御SQL注入
PDO可以被认作是一种通过编译SQL语句模板来运行SQL语句的机制. 查询仅需解析(或预处理)一次,但可以用相同或不同的参数执行多次.当查询准备好后,数据库将分析.编译和优化执行该查询的计划.对于复杂 ...
- c mysql prepared,Mysql 预处理 PREPARE以及预处理的好处
PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse'; mysql> SET @a = 3; mysql> ...
- mysql pdo prepare_PDO::prepare
PDO::prepare PDO::prepare - 准备要执行的SQL语句并返回一个 PDOStatement 对象(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0 ...
- php pdo 预处理删除,PHP PDO扩展整理,包括环境配置\基本增删改查\事务\预处理
介绍 PDO是一种PHP程序连接数据库的接口,通过PDO可以将PHP程序与数据库联系起来. 优点: 1.可移植性,可以支持各种主流数据库服务,而且实现代码几乎都是相同的,使用PDO在代码层面上不需要太 ...
- php pdo mysql 预处理_php -- PDO预处理
可以使用多种方式实现预处理:指的是在绑定数据进行执行的时候,可以有多种方式. 预处理语句中为变量 使用数组指定预处理变量 1.准备预处理语句(发送给服务器,让服务器准备预处理语句) PDOStatem ...
- PHP基础知识之————PDO预处理语句
转载处:http://www.cnblogs.com/xiaohuochai/p/6133353.html 定义 在生成网页时,许多PHP脚本通常都会执行除参数之外,其他部分完全相同的查询语句,针对这 ...
- php pdo预处理语句与存储过程
很多更成熟的数据库都支持预处理语句的概念.什么是预处理语句?可以把它看作是想要运行的 SQL 的一种编译过的模板,它可以使用变量参数进行定制.预处理语句可以带来两大好处: 1.查询仅需解析(或预处理) ...
最新文章
- 4.5.2 OSPF协议与链路状态算法
- git 改了一段代码不想要了_初识Git
- SPGridview的使用
- java二级考试大纲_计算机二级Java考试内容大纲
- raid卷的作用_硬盘raid功能是什么意思,有何作用
- ImportError: Unable to import required dependencies: pytz: No module named ‘pytz‘
- openwrt问题汇总
- POSCMS 框架使用导航
- Axure与markman
- -1岁的产品经理日记——part3(面经篇)
- 线性代数-克莱姆法则
- react脚手架创建命令教程
- 联想y700台式计算机图片,细论联想Y700台式机的自我修养
- 进程的状态和转换 三态模型和五态模型
- WPS如何双面打印文件呢
- 团体程序设计天梯赛-练习集(并查集)
- 第一型曲线积分的思路总结
- ERROR: Cannot find command ‘git‘ - do you have ‘git‘ installed and in your PATH?
- 地名用计算机符号怎么表示,写作文地名要加什么符号
- C语言游戏3:飞机游戏