php pdo類的方法:beginTransaction()、commit()、__construct()、errorCode()、errorInfo()、exec()、getAttribute()、query()、quote()等等。
本教程操作環境:windows7系統、PHP7.1版,DELL G3電腦
PDO 是什么
PDO 是 PHP Date Object(PHP 數據對象)的簡稱,它是 PHP 為訪問數據庫定義的一個輕量級的、一致性的接口,它提供了一個數據訪問抽象層,這樣無論你使用什么數據庫,都可以通過同一函數執行查詢和獲取數據,大大簡化了數據庫的操作,并能夠屏蔽不同數據庫之間的差異。
PDO 是與 PHP5.1 版本一起發行的,使用 PDO 可以很方便地進行跨數據庫程序的開發,以及不同數據庫間的移植,目前 PDO 支持的數據庫包括 Firebird、FreeTDS、Interbase、MySQL、SQL Server、ODBC、Oracle、Postgre SQL、SQLite 和 Sybase 等。
有了 PDO 就不必再使用 mysqli_* 的一系列函數了,只需要使用 PDO 中的方法就可以對數據庫進行操作。
PDO 類的方法:
-
beginTransaction() — 啟動一個事務
-
commit() — 提交一個事務
-
__construct() — 創建一個表示數據庫連接的 PDO 實例
-
errorCode() — 獲取跟數據庫句柄上一次操作相關的 SQLSTATE
-
errorInfo() — 返回最后一次操作數據庫的錯誤信息
-
exec() — 執行一條 SQL 語句,并返回受影響的行數
-
getAttribute() — 取回一個數據庫連接的屬性
-
getAvailableDrivers() — 返回一個可用驅動的數組
-
inTransaction() — 檢查是否在一個事務內
-
lastInsertId() — 返回最后插入行的ID或序列值
-
prepare() — 備要執行的SQL語句并返回一個 PDOStatement 對象
-
query() — 執行 SQL 語句,返回PDOStatement對象,可以理解為結果集
-
quote() — 為SQL語句中的字符串添加引號。
-
rollBack() — 回滾一個事務
-
setAttribute() — 設置屬性
其中pdo類常用方法:
-
exec()
-
query()
-
lastInsertId()
<?php $servername = "localhost"; $username = "root"; $password = "133nubia022"; $dbname='myweb'; $pdo= new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $pdo->exec('set names utf8'); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_BOTH); $sql="insert into user(username,age) values('user123','55')"; if($pdo->exec($sql)){ $lastid=$pdo->lastInsertId(); echo "ID為{$lastid}的數據插入成功!"; } ?>
-
setAttribute()
設置獲取模式屬性
<?php $servername = "localhost"; $username = "root"; $password = "133nubia022"; $dbname='myweb'; $pdo= new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $pdo->exec('set names utf8'); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC); $sql="select * from user"; $smt=$pdo->query($sql); $rows=$smt->fetchAll(); echo '<pre>'; print_r($rows); echo '</pre>'; ?>
***
獲取索引數組
<?php $servername = "localhost"; $username = "root"; $password = "133nubia022"; $dbname='myweb'; $pdo= new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $pdo->exec('set names utf8'); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_NUM); $sql="select * from user"; $smt=$pdo->query($sql); $rows=$smt->fetchAll(); echo '<pre>'; print_r($rows); echo '</pre>'; ?>
獲取混合數組
<?php $servername = "localhost"; $username = "root"; $password = "133nubia022"; $dbname='myweb'; $pdo= new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $pdo->exec('set names utf8'); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_BOTH); $sql="select * from user"; $smt=$pdo->query($sql); $rows=$smt->fetchAll(); echo '<pre>'; print_r($rows); echo '</pre>'; ?>
推薦學習:《PHP視頻教程》