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()