面向对象第八天---预处理与mysql事务


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

posted @ 2016-05-22 16:17  隔壁家王叔叔  阅读(245)  评论(0编辑  收藏  举报