您好,登錄后才能下訂單哦!
本篇內容介紹了“什么是PHP PDO”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1、PDO(PHP Data Object)擴展為PHP定義了一個訪問數據庫的輕量、持久的接口。實現PDO接口的每一種數據庫驅動都能以正則擴展的形式把各自的特色表現出來。
主要:PDO擴展只是一個抽象的接口層,利用PDO擴展本身并不能實現任何數據庫操作,必須使用一個特定的數據庫PDO驅動訪問數據庫
2、啟動PDO方法:找到php.ini文件將
復制代碼 代碼如下:
;extension=php_pdo.dll
前的分號去掉即可(linux環境下類似)
3、PDO預定義類:
PDO包含了三個預定義類:PDO、PDOStatement、PDOException
(1)PDO類:代表一個PHP和數據庫之間的連接
PDO:構造器,創建一個新的PDO對象
beginTransaction:開始事務
commit:提交事務
errorCode:從數據庫返回一個錯誤代號,如果有的話
errorInfo:從數據庫返回一個含有錯誤信息的數組,如果有的話
exec:執行一條SQL語句并返回影響的行數
getAttribute:返回一個數據庫的連接屬性
lastInsertId:返回最新插入到數據庫的行(ID)
prepare:為執行準備一條SQL語句,返回語句執行后的聯合結果集
query:執行一條SQL語句并返回結果集
rollBack:回滾一個事務
setAttribute:設置一個數據庫連接屬性
(2)PDOStatement類:代表一條預處理語句以及語句執行后的聯合結果集
bindColomn:綁定一個PHP變量到結果集輸出列
bindParam:綁定一個變量到PHP預處理語句中的參數
bindValue:綁定一個值到處理語句中的參數
closeCursor:關閉游標,使語句可以再次執行
cloumnCount:返回結果集中列的數量
errorCode:從語句中返回一個錯誤代號,如果有的話
errorInfo:從語句中返回包含錯誤信息的數組
execute:執行一條預處理語句
fetch:從結果集中取出一行
fetchAll:從結果集中取出一個包含所有行的數組
fetchColomn:返回結果集中某一列的數據
getAttribute:返回一個PDOStatement屬性
getColomnMeta:返回結果集中某一列的結構
nextRowset:返回下一個結果集
rowCount:返回SQL語句執行后影響的行數
setAttribute:設置一個PDOStatement屬性
setFetchMode:為PDOStatement設定獲取數據
給一個事務處理的簡單例子:
復制代碼 代碼如下:
<?php
/*
事務處理
MYSQL 表引擎 MyISAM InnoDB
添加字段 alter table user add money int not null default 0;
查看表引擎 show create table user
修改表引擎 alter table user engine=InnoDB
*/
try{
//實例化PDO
$pdo=new PDO("mysql:host=localhost;dbname=photo","root","123456"。array('3'=>'2'));
}catch(PDOException $e){
echo $e->getMessage();
}
//設置字符集
$sql="set name utf8";
$pdo->exec($sql);
//開啟事務處理
$pdo->beginTransaction();
$num=250;
$sql="update user set money=money-{$num} where id =1";
$rows=$pdo->exec($sql);
$sql="update user set monet=money-{$num} where id=2";
$rows+=$pdo->exec($sql);
//結束事務處理
if($rows==2){
$pdo->commit();
}else{
$pdo->rollBack();
}
?>
(事務的主要特性:原子性、一致性、獨立性和持久性)
4、PDO最大的特點是引入了參數綁定和預編譯
預編譯負責兩件事,轉移和軟解析提速。程序要支持預編譯,除了數據庫支持外,還需要驅動支持(PDO和NySQLi支持)
5、PDO的效率問題
(1)在一個大表大數據量中進行測試,PDO的CRUD效率比MySql直連低5%~15%,并且方差大于MySQL直連
(2)至于負載方面,PDO開啟長連接后負載高于MySQL且比較穩定。
“什么是PHP PDO”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。