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...