4. PDOStatment 对象
4.1 PDOStatmen中的成员方法
fetch
fetchALl
4.2 设置返回结果的数组类型
PDO::FETCH_ASSOC
PDO::FETCH_NUM
PDO::FETCH_BOTH
PDO::FETCH_OBJ stdClass填充属性
4.3 pdo处理结果集方式
1、fetch 遍历
2、fetchAll 全部获取
3、直接遍历$stmt对象
5. pdo预处理的使用(重点)
5.1 预处理的优点
防止SQL注入
批处理能够提高SQL处理效率
5.2 预处理的步骤
1、准备SQL 用占位符 代替条件参数 (? / :name )
2、执行预处理 prepare 返回PDOstatement对象
4、执行绑定参数
4、执行SQL
execute()
5.3 预处理sql方式
prepare
execute
5.4 绑定参数的方式
1、bindValue 绑定值可以为变量
占位符? :name :n
2、bindParam 绑定值必须为变量 *****
占位符? :name :n
3、在execute时直接传入数组
5.5 对查询结果进行绑定
bindColumn
遍历数据时 可以直接使用绑定的变量
6. pdo事务机制
ACID属性
6.1 MySQL事务
注意:
① 原子性 所有操作 要么全执行 要么全取消
② 事务开启后,所有操作并不是马上执行写入 直到commit 或 rollback 结束
6.2 MYSQL客户端中操作过程
开启事务:
set autocommit = 0; begin; start transaction;
写操作,并创建还原点
savepoint pn
结束操作
rollback; rollback to pn; commit;
当回滚至某个还原点时,其后面的还原点将被删除
6.3 PDO 中使用事务
1、开启事务
$pdo->beginTransactio()
2、执行预处理
3、如果成功
commit
4、如果失败
在catch中执行rollback