php pdo類的方法:beginTransaction()、commit()、__construct()、errorCode()、errorInfo()、exec()、getAttribute()、query()、quote()等等。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
PDO 是什么
PDO 是 PHP Date Object(PHP 數(shù)據(jù)對(duì)象)的簡(jiǎn)稱,它是 PHP 為訪問數(shù)據(jù)庫(kù)定義的一個(gè)輕量級(jí)的、一致性的接口,它提供了一個(gè)數(shù)據(jù)訪問抽象層,這樣無論你使用什么數(shù)據(jù)庫(kù),都可以通過同一函數(shù)執(zhí)行查詢和獲取數(shù)據(jù),大大簡(jiǎn)化了數(shù)據(jù)庫(kù)的操作,并能夠屏蔽不同數(shù)據(jù)庫(kù)之間的差異。
PDO 是與 PHP5.1 版本一起發(fā)行的,使用 PDO 可以很方便地進(jìn)行跨數(shù)據(jù)庫(kù)程序的開發(fā),以及不同數(shù)據(jù)庫(kù)間的移植,目前 PDO 支持的數(shù)據(jù)庫(kù)包括 Firebird、FreeTDS、Interbase、MySQL、SQL Server、ODBC、Oracle、Postgre SQL、SQLite 和 Sybase 等。
有了 PDO 就不必再使用 mysqli_* 的一系列函數(shù)了,只需要使用 PDO 中的方法就可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。
PDO 類的方法:
-
beginTransaction() — 啟動(dòng)一個(gè)事務(wù)
-
commit() — 提交一個(gè)事務(wù)
-
__construct() — 創(chuàng)建一個(gè)表示數(shù)據(jù)庫(kù)連接的 PDO 實(shí)例
-
errorCode() — 獲取跟數(shù)據(jù)庫(kù)句柄上一次操作相關(guān)的 SQLSTATE
-
errorInfo() — 返回最后一次操作數(shù)據(jù)庫(kù)的錯(cuò)誤信息
-
exec() — 執(zhí)行一條 SQL 語句,并返回受影響的行數(shù)
-
getAttribute() — 取回一個(gè)數(shù)據(jù)庫(kù)連接的屬性
-
getAvailableDrivers() — 返回一個(gè)可用驅(qū)動(dòng)的數(shù)組
-
inTransaction() — 檢查是否在一個(gè)事務(wù)內(nèi)
-
lastInsertId() — 返回最后插入行的ID或序列值
-
prepare() — 備要執(zhí)行的SQL語句并返回一個(gè) PDOStatement 對(duì)象
-
query() — 執(zhí)行 SQL 語句,返回PDOStatement對(duì)象,可以理解為結(jié)果集
-
quote() — 為SQL語句中的字符串添加引號(hào)。
-
rollBack() — 回滾一個(gè)事務(wù)
-
setAttribute() — 設(shè)置屬性
其中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}的數(shù)據(jù)插入成功!"; } ?>
-
setAttribute()
設(shè)置獲取模式屬性
<?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>'; ?>
***
獲取索引數(shù)組
<?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>'; ?>
獲取混合數(shù)組
<?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>'; ?>
推薦學(xué)習(xí):《PHP視頻教程》