PHP使用PDO 連線與連線管理操作例項分析

2022-09-27 02:33:15 字數 1153 閱讀 7108

連線是通過建立 pdo 基類的例項而建立的。不管使用哪種驅動程式,都是用 pdo 類名。

建構函式接收用於指定資料庫源(所謂的 dsn)以及可能還包括使用者名稱和密碼(如果有的話)的引數。

連線到 mysql

<?php $dbh = new pdo('mysql:host=localhost;dbname=test', $user, $pass);

?>

如果有任何連線錯誤,將丟擲乙個 pdoexception 異常物件。如果想處理錯誤狀態,可以捕獲異常,

或者選擇留給通過 set_exception_handler()設定的應用程式全域性異常處理程式。

處理連線錯誤

<?php try

$dbh = null;

} catch (pdoexception $e)

?>

連線資料成功後,返回乙個 pdo 類的例項給指令碼,

此連線在 pdo 物件的生存週期中保持活動。

要想關閉連線,需要銷毀物件以確保所有剩餘到它的引用都被刪除,可以程式設計客棧賦乙個null值給物件變數。

如果不明確地這麼做,php 在指令碼結束時會自動關閉連線。

關閉乙個連線

<?php $dbh = new pdo('mysql:host=localhost', $user, $pass);

// 在此使用連線

// 現在執行完成,在此關閉連線

$dbh = null;

?>

很多 web 應用程式通過使用到資料庫服務的持久連線獲得好處。持久連線在指令碼結束後不會被關閉,且被快取,

當另乙個使用相同憑證的指令碼連線請求時被重用。持久連線快取可以避免每次指令碼需要與資料庫回話時建立乙個新連線的開銷,從而讓 web 應用程式更快。

持久化連線

<?php $dbh = new pdo('mysql:host=localhost;dbname=test', $user, $pass, array(

pdo::attr_persistent => true

));?>

如果想使用持久連線,必須在傳遞給 pdo 建構函式的驅動選項陣列中設定pdygbpdo::attr_persistent。

如果是在物件初始化之後用 pdo程式設計客棧::setattribute() 設定此屬性,則驅動程式將不會使用持久連線。

PHP中MySQL連線管理

對於php程式來來說,mysql是一種稀缺的資源。mysql預設最大連線數為100,也即是最多接受100個mysql的客戶端連線。因此,php在使用mysql連線時做了一些優化的處理。這些優化,可能對效能有所提公升,但對使用mysql連線的使用卻也造成一些困惑。建立mysql連線 resource ...

php 使用pdo連線postgresql

有關pdo的使用可以參考 1 連線資料庫方法 function conn t catch pdoexception ex return db 2 使用示例 查詢user表使用者資訊 sql sprintf select from s where passport s and passwd s use...

HTTP連線管理

http通訊是由tcp ip承載的,tcp ip是全球計算機及網路裝置都在使用的一種常用的分組交換網路分層協議集。http連線實際上就是tcp連線和一些使用連線的規則。tcp的資料是通過名為ip分組 或ip資料報 的小資料塊來傳送的。http要傳送一條報文時,會以流的形式將報文資料的內容通過一條開啟...