PHP pdo 詳細介紹

2021-10-01 21:24:29 字數 2335 閱讀 4402

pdo類基本應用:了解pdo類的方法,使用pdo方法解決相應需求問題

pdo類雖然提供了很多方法,但是常用的方法有以下幾個

pdo::__construct():例項化pdo物件

pdo::exec():執行乙個寫操作sql指令,返回受影響的行數

pdo::query():執行乙個讀操作sql指令,返回乙個pdostatement類物件(後者進行資料解析操作)

pdo::errorcode()和pdo::errorinfo():獲取上次錯誤的資訊(錯誤碼和錯誤描述陣列)

pdo例項化物件:利用其構造方法__construct(string $dsn,string $user,string $pass[,array $drivers])實現,構造方法由4個引數組成,其中一般前三個為必須引數,第四個為可選引數

$dsn:乙個資料庫基本資訊字串,包含資料庫產品,主機位址等

驅動名字(資料庫產品),使用英文:分隔,如mysql:表示使用mysql資料庫

驅動選項(主機位址),使用host=具體主機位址,跟在驅動名字之後,如』mysql:host=localhost』

驅動選項(埠),使用port=埠號,預設為3306可以不寫,拼湊在驅動名字後,不區分先後順序。如』mysql:host=localhost;port=3306』或者』mysql:port=3306;host=localhost』,使用分號和其他驅動分開

驅動選項(資料庫名字),使用dbname=資料庫名字(可以事先沒有)

u se

r:使用者

名,如果

資料庫允

許匿名用

戶出現,

那麼可以

沒有該參

數(只有

user:使用者名稱,如果資料庫允許匿名使用者出現,那麼可以沒有該引數(只有

user:用

戶名,如

果資料庫

允許匿名

使用者出現

,那麼可

以沒有該

引數(只

有dsn)

$pass:密碼,與使用者名稱一樣

$drivers:pdo屬性設定,是關聯陣列,利用pdo內部的常量進行設定(不是pdo物件屬性,而是pdo對資料庫特性的屬性)

pdo查詢操作

通過執行sql指令後從資料庫獲得相應的資料,然後對資料加工程式設計php可識別的格式

pdo::query()方法只能執行sql,並不能直接解析結果,返回乙個pdostatement類物件

pdostatement::fetch()系列方法從物件中實現資料獲取

fetch:獲取一條記錄

fetchall:獲取全部記錄

fetch_style:通過常量設計的方式實現獲取資料的不同效果

pdo事務功能

並非pdo額外多出了一項功能,而是將原來mysql所支援的事務操作進行了一定的封裝實現

事務執行是否成功是由mysql對應的儲存引擎是否支援決定的

pdo只是對具體的操作步驟進行了封裝而已

pdo::begintransaction():開啟事務 ==== pdo::exec(『start transaction』)

pdo::exec():執行事務(寫操作)

pdo::rollback():回滾所有事務 ==== pdo::exec(『rollback』)

pdo::commit():成功提交所有事務

pdo預處理

pdo預處理:是pdo封裝一套特定的方法,在方法中做了一些優化操作,使得開發人員可以便捷的用來實現預處理

pdo預處理的實現是基於mysql預處理機制,只是針對預處理的操作過程進行了內部封裝

引數處理:可以使用原佔位符?,也可以使用pdo佔位符:名字

pdo中預處理提供了一套方法機制,主要由以下幾個方法組成

pdo::prepare():傳送預處理指令,只需要提供要執行的指令即可,不需要prepare 名字from。成功得到乙個pdostatement類物件,失敗得到乙個false(或者異常錯誤)

pdostatement::bindparam():繫結預處理所需要的引數,只能繫結變數(引用傳遞)

pdostatement::bindvalue():繫結預處理所需要的引數,可以繫結值(值傳遞

pdostatement::execute():執行預處理,成功返回true,失敗返回false

資料繫結:

是指在進行預處理指令定義時使用了佔位符,為了保證後續執行預處理時能夠正確執行,將實際資料替換佔位符的過程

資料繫結的方式應該與佔位符方式對應

pdostatement::execute()方法本身就可以實現資料傳遞和繫結

pdostatement::bindvalue()和bindparam()在實際運用中有明顯區別

PHP PDO介紹與應用

pdo擴充套件為php訪問資料庫定義了乙個輕量級的 一致性的介面,它提供了乙個資料訪問抽象層,這樣,無論使用什麼資料庫,都可以通過一致的函式執行查詢和獲取資料。pdo隨php5.1發行,在php5.0的pecl擴充套件中也可以使用。在windows環境下php5.1以上版本中 pdo和主要資料庫的驅...

robots txt詳細介紹

robots.txt基本介紹 當乙個搜尋機械人 有的叫搜尋蜘蛛 訪問乙個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜尋機械人就會按照該檔案中的內容來確定訪問的範圍 如果該檔案不存在,那麼搜尋機械人就沿著鏈結抓取。另外,robots.txt必須放置在乙個站點的根目錄下,...

nginx phases 詳細介紹

我們知道,nginx 請求分為下面幾個階段 下面對這些過程詳細介紹 一 ngx http post read phase do nothing 二 ngx http server rewrite phase do nothing 三 ngx http find config phase 根據請求的位...