面向对象第八天---预处理与mysql事务
4. PDOStatment 對象
4.1 PDOStatmen中的成員方法
fetch
fetchALl
4.2 設(shè)置返回結(jié)果的數(shù)組類型
PDO::FETCH_ASSOC
PDO::FETCH_NUM
PDO::FETCH_BOTH
PDO::FETCH_OBJ stdClass填充屬性
4.3 pdo處理結(jié)果集方式
1、fetch 遍歷
2、fetchAll 全部獲取
3、直接遍歷$stmt對象
5. pdo預(yù)處理的使用(重點)
5.1 預(yù)處理的優(yōu)點
防止SQL注入
批處理能夠提高SQL處理效率
5.2 預(yù)處理的步驟
1、準(zhǔn)備SQL 用占位符 代替條件參數(shù) (? / :name )
2、執(zhí)行預(yù)處理 prepare 返回PDOstatement對象
4、執(zhí)行綁定參數(shù)
4、執(zhí)行SQL
execute()
5.3 預(yù)處理sql方式
prepare
execute
5.4 綁定參數(shù)的方式
1、bindValue 綁定值可以為變量
占位符? :name :n
2、bindParam 綁定值必須為變量 *****
占位符? :name :n
3、在execute時直接傳入數(shù)組
5.5 對查詢結(jié)果進行綁定
bindColumn
遍歷數(shù)據(jù)時 可以直接使用綁定的變量
6. pdo事務(wù)機制
ACID屬性
6.1 MySQL事務(wù)
注意:
① 原子性 所有操作 要么全執(zhí)行 要么全取消
② 事務(wù)開啟后,所有操作并不是馬上執(zhí)行寫入 直到commit 或 rollback 結(jié)束
6.2 MYSQL客戶端中操作過程
開啟事務(wù):
set autocommit = 0; begin; start transaction;
寫操作,并創(chuàng)建還原點
savepoint pn
結(jié)束操作
rollback; rollback to pn; commit;
當(dāng)回滾至某個還原點時,其后面的還原點將被刪除
6.3 PDO 中使用事務(wù)
1、開啟事務(wù)
$pdo->beginTransactio()
2、執(zhí)行預(yù)處理
3、如果成功
commit
4、如果失敗
在catch中執(zhí)行rollback
轉(zhuǎn)載于:https://www.cnblogs.com/GBWSHUSHU/p/5517038.html
總結(jié)
以上是生活随笔為你收集整理的面向对象第八天---预处理与mysql事务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈zoom
- 下一篇: mysql master or mast