PHP——PDO
- 2020 年 4 月 10 日
- 筆記
PDO的概述
PDO(PHP Data Object)是有MySql官方封裝的、基於面向對象編程思想的、使用C語言開發的資料庫抽象層。
訪問資料庫
連接伺服器
_construct(DSN,[用戶名,密碼]);
DSN:指數據源,包括資料庫名和主機名,MySQL資料庫的DSN為「mysql:host=localhost;dbname=資料庫名,port=主機名」
關閉連接
要想關閉連接,需要銷毀對象以確保所有對他的引用都被刪除,可以將變數賦值為NULL。
執行SQL語句
PDO提供了3中執行SQL語句的方法,分別是exec()方法、query()方法和預處理語句。
exec()方法
exec()方法可以執行一條語句,並返回受影響的行數:
int PDO::exec(sql);
exec()方法通常應用於INSERT、DELETE、UPDATE等語句
query()語句
query()語句常用於SELECT語句,他的返回值是PDOStatement的實例,是PDO的結果集
PDOStatement PDO::query(sql)
預處理語句
PDO提供對預處理語句的支援
1、定義預處理語句
使用prepare()方法可以執行SQL預處理語句,得到一個PDOStatement實例。
(1)命名參數:自定義的有意義的字元串作為命名參數,前面加上冒號:
insert into table_name(name,password,email) values(:name,:psasword,:email);
(2)問好數據佔位符:使用「?」作為參數:
insert into table_name(name,password,email) values(?,?,?);
2、綁定參數
向預處理語句中綁定參數有3中方法:
(1)bindParam()方法:一個一個綁定,在綁定完成後,需要執行execute()方法使之生效。
(2)bindValue()方法:一個一個綁定,在綁定完成後,需要執行execute()方法使之生效。
(3)直接使用execute()方法傳遞一個數組,命名參數使用關聯數組,數據站位符使用索引數組。
解析結果集
fetch()方法
使用fetch()方法可以從結果集中獲取下一行的數據,返回的數組依賴於提取的類型。
$result->fetch();
fechAll()方法
使用fetchAll()方法可以返回一個包含結果集中所有行的數組
$result->fetchAll()
fetchColimn()方法
可以從結果集中獲取下一行中指定列的值
$result->fetchColimn()