PDO資料庫抽象類庫的操作

2021-07-23 23:09:08 字數 2267 閱讀 3913

pdo簡單介紹:

背景:隨著php使用的廣泛,使用不同資料庫也是十分常見的。php需要支援更多的資料庫連線介面,如果只是通過單一的介面針對單一的資料庫進行編寫程式,這很大程度上提公升了php的複雜度和學習門檻。pdo的出現就是為了解決這個問題。

pdo:pdo是php data object的縮寫,為php訪問資料庫定義了輕量級的、一致性的介面。它提供了乙個資料訪問抽象層,不管php連線的是什麼資料庫都可以通過一致的函式執行查詢和獲取資料。pdo在php5.1發行時開始附帶,php之前的版本不支援pdo的類庫

特性:(1)靈活性,可以在php執行期間,直接載入新的資料庫而不需要在新的資料庫使用時,重新設定和編譯。

(2)物件導向性:通過物件來控制資料庫的使用。

(3)速度快,由於pdo是用c語言編寫且編譯進php的,所以比那些用php編寫的抽象類快得多。

pdo的安裝:

由於pdo類庫是php5自帶的類庫,所以使用pdo類庫只需要在php.ini中把關於pdo類庫的配置前面的注釋符號去掉。首先啟用extension=php_pdo.dll類庫,這個類庫是pdo類庫本身。然後根據需要開啟不同資料庫驅動類庫。比如mysql資料庫的驅動類是extension=php_pdo_mysql.dll。

pdo操作mysql資料庫:

pdo的建構函式實現php連線資料:new pdo( dsn , username , password , driver_options )

'資料庫伺服器型別:host=資料庫伺服器位址;dbname=資料庫名'

username是接入資料來源的使用者名稱,password是使用者密碼,driver_options是特定連線要求的其他引數,可選。

pdo連線mysql資料庫和執行sql選擇語句的例項:

getmessage();

} $sql = "select * from test";

$result = $db->query($sql);

$rowcount = $result->rowcount();

echo "查詢到".$rowcount."條";

$rows = $result->fetchall();

foreach ($rows as $row)

?>

或者:

getmessage();

} $sql = "select * from test";

$result = $db->query($sql);

$rowcount = $result->rowcount();

echo "查詢到".$rowcount."條";

while($row = $result->fetch(pdo::fetch_assoc))

?>

pdo執行sql新增、修改、刪除語句的例項,執行這些語句時都是通過exce()來實現,而選擇語句不能:

getmessage();

} $sqlinsert = "insert into test(name,id) values('sam',3)";

$sqlupdate = "update test set name='jack' where name='sam'";

$sqldelete = "delete from test where name='jack'";

if($db->exec($sqlinsert))

if($db->exec($sqlupdate))

if($db->exec($sqldelete))

?>

pdo的prepare使用

使用情景:頻繁使用的sql語句結構都相同,如經常使用insert,僅每一項具體的數值都不同。prepare表述可提供改變的變數值,不改變sql語句,以減少解析過程、節省資源、提高效率。

使用prepare表述需要通過兩個方法:乙個是prepare()方法,另乙個是execute()方法。

<?php

trycatch(pdoexception $e)

$sqlinsert = "insert into test set id=:id,name=:name";

$preparedb = $db->prepare($sqlinsert);

if($preparedb->execute(array(

":id" => "111",

":name" => "jenen dunran"

)))?>

pdo資料庫操作類

pdo,有不侷限資料庫,和防止sql注入等很多優點,也是php官方推薦的方式,所以花點時間寫個pdo資料庫操作類 class pdox catch pdoexception e 關閉鏈結 public function closeconnect 轉義字串 param string return bo...

資料庫抽象層 PDO

資料庫抽象層 在資料遷移和專案操作多資料庫時,為了便於操作而提供一種的解決方案。當從乙個資料庫系統向另乙個資料庫系統遷移時,幾乎不用更改太多的程式 如將ms sql server遷移到mysql。規劃必須規範,盡量使用相同的資料進行物件例項化,並且使用相同的資料庫抽象層 如pdo 這樣只需要改變系統...

PDO資料庫操作

注意 使用pdo需要配置php.ini檔案 例子 查詢資料 pdo連線資料庫 pdo new pdo mysql host localhost dbname chatroom root 執行sql語句 res pdo query select from chat user 處理結果集 data re...