這篇文章主要介紹了php mysql PDO 查詢操作的實體詳解的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下
php mysql PDO 查詢操作的實體詳解

1、建立連接

持久性鏈接PDO::ATTR_PERSISTENT=>true
2、捕捉錯誤

3、事務的

4、錯誤處理
a. 靜默模式(默認模式)


- 使用 query()

- 使用 prepare, bindParam和 execute [建議用,同時可以用添加、修改、洗掉]

- 事物

PDO常用方法:
-
PDO::query()主要用于有記錄結果回傳的操作(PDOStatement),特別是select操作,
-
PDO::exec()主要是針對沒有結果集合回傳的操作,如insert,update等操作,回傳影響行數,
-
PDO::lastInsertId()回傳上次插入操作最后一條ID,但要注意:如果用insert into tb(col1,col2) values(v1,v2),(v11,v22)…的方式一次插入多條記錄,lastinsertid()回傳的只是第一條(v1,v2)插入時的ID,而不是最后一條記錄插入的記錄ID,
-
PDOStatement::fetch()是用來獲取一條記錄,配合while來遍歷,
-
PDOStatement::fetchAll()是獲取所有記錄集到一個中,
-
PDOStatement::fetchcolumn([int column_indexnum])用于直接訪問列,引數column_indexnum是該列在行中的從0開始索引值,但是,這個方法一次只能取得同一行的一列,只要執行一次,就跳到下一行,因此,用于直接訪問某一列時較好用,但要遍歷多列就用不上,
-
PDOStatement::rowcount()適用于當用query(“select …”)方法時,獲取記錄的條數,也可以用于預處理中,$stmt->rowcount();
-
PDOStatement::columncount()適用于當用query(“select …”)方法時,獲取記錄的列數,
注解:
1、選fetch還是fetchall?
小記錄集時,用fetchall效率高,減少從資料庫檢索次數,但對于大結果集,用fetchall則給系統帶來很大負擔,資料庫要向WEB前端傳輸量太大反而效率低,
2、fetch()或fetchall()有幾個引數:
mixed pdostatement::fetch([int fetch_style [,int cursor_orientation [,int cursor_offset]]])
array pdostatement::fetchAll(int fetch_style)
fetch_style引數:
-
$ row=$ rs->fetchAll(PDO::FETCH_BOTH); FETCH_BOTH是默認的,可省,回傳關聯和索引,
-
$ row=$ rs->fetchAll(PDO::FETCH_ASSOC); FETCH_ASSOC引數決定回傳的只有關聯陣列,
-
$ row=$ rs->fetchAll(PDO::FETCH_NUM); 回傳索引陣列
-
$ row=$ rs->fetchAll(PDO::FETCH_OBJ); 如果fetch()則回傳物件,如果是fetchall(),回傳由物件組成的二維陣列
點關注,不迷路
好了各位,以上就是這篇文章的全部內容了,能看到這里的人呀,都是人才,之前說過,PHP方面的技術點很多,也是因為太多了,實在是寫不過來,寫過來了大家也不會看的太多,所以我這里把它整理成了PDF和檔案,如果有需要的可以
點擊進入暗號: PHP+「平臺」


更多學習內容可以訪問【對標大廠】精品PHP架構師教程目錄大全,只要你能看完保證薪資上升一個臺階(持續更新)
以上內容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務代碼寫多了沒有方向感,不知道該從那里入手去提升,對此我整理了一些資料,包括但不限于:分布式架構、高可擴展、高性能、高并發、服務器性能調優、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優化、shell腳本、Docker、微服務、Nginx等多個知識點高級進階干貨需要的可以免費分享給大家,需要的可以加入我的 PHP技術交流群
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/189057.html
標籤:其他
