php數(shù)據(jù)庫(kù)抽象層 PDO
PDO(PHP Data Objects)是一個(gè)輕量級(jí)的PHP擴(kuò)展,提供了一個(gè)數(shù)據(jù)訪問(wèn)抽象層。還要就是PDO只能在PHP5.0以上版本使用。
下面來(lái)介紹一下PDO常用的預(yù)定義常量:
PDO::PARAM_BOOL (integer) 表示布爾數(shù)據(jù)類型
PDO::PARAM_NULL (integer) 表示數(shù)據(jù)類型為NULL的SQL
PDO::PARAM_INT (integer) 表示為integer數(shù)據(jù)類型的SQL
PDO::PARAM_STR (integer) 表示為char varchar 或者其他字符串的數(shù)據(jù)類型的SQL
PDO::PARAM_LOB (integer) 表示對(duì)象數(shù)據(jù)類型的SQL
PDO::FETCH_LAZY (integer) 指定的獲取方式,應(yīng)當(dāng)返回結(jié)果集的每一行作為一個(gè)對(duì)象的變量名,對(duì)應(yīng)于它的字段名
PDO::FETCH_ORI_NEXT (integer) 取結(jié)果集的下一行
PDO::FETCH_ORI_PRIOR (integer) 取結(jié)果集的前面的行
PDO::FETCH_ORI_FIRST (integer) 取結(jié)果集的第一行
PDO::FETCH_ORI_LAST (integer) 取結(jié)果集的最后一行
PDO::ATTR_PERSISTENT (integer) 創(chuàng)建一個(gè)持久連接,而不是新創(chuàng)建一個(gè)連接
PDO的基本用法:
使用PDO與數(shù)據(jù)庫(kù)連接(這里只使用MySQL):
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>
下面的代碼是對(duì)MySQL連接錯(cuò)誤時(shí)的處理:
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
foreach($dbh->query('SELECT * from FOO') as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>
下面是兩個(gè)重復(fù)使用插入語(yǔ)句的例子:
<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
// insert one row
$name = 'one';
$value = 1;
$stmt->execute();
// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>
<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $value);
// insert one row
$name = 'one';
$value = 1;
$stmt->execute();
// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>
對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢操作:
<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) {
while ($row = $stmt->fetch()) {
print_r($row);
}
}
?>
- php mysql PDO 查詢操作的實(shí)例詳解
- php使用PDO下exec()函數(shù)查詢執(zhí)行后受影響行數(shù)的方法
- php使用pdo連接并查詢sql數(shù)據(jù)庫(kù)的方法
- Php中用PDO查詢Mysql來(lái)避免SQL注入風(fēng)險(xiǎn)的方法
- PHP中關(guān)于PDO數(shù)據(jù)訪問(wèn)抽象層的功能操作實(shí)例
- php在數(shù)據(jù)庫(kù)抽象層簡(jiǎn)單使用PDO的方法
- PHP 5 數(shù)據(jù)對(duì)象 (PDO) 抽象層與 Oracle
- PHP使用PDO抽象層獲取查詢結(jié)果的方法示例
相關(guān)文章
linux下 C語(yǔ)言對(duì) php 擴(kuò)展
linux C語(yǔ)言對(duì) php 擴(kuò)展的設(shè)置技巧2008-12-12Yii框架調(diào)試心得--在頁(yè)面輸出執(zhí)行sql語(yǔ)句
這篇文章主要介紹了Yii框架調(diào)試心得--在頁(yè)面輸出執(zhí)行sql語(yǔ)句,需要的朋友可以參考下2014-12-12php批量刪除cookie的簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了php批量刪除cookie的簡(jiǎn)單實(shí)現(xiàn)方法,實(shí)例分析了刪除單個(gè)cookie及數(shù)組遍歷的方式批量刪除cookie的技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2015-01-01基于PHP實(shí)現(xiàn)堆排序原理及實(shí)例詳解
這篇文章主要介紹了基于PHP實(shí)現(xiàn)堆排序原理及實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06PHP將session信息存儲(chǔ)到數(shù)據(jù)庫(kù)的類實(shí)例
這篇文章主要介紹了PHP將session信息存儲(chǔ)到數(shù)據(jù)庫(kù)的類,實(shí)例分析了php封裝的session信息存儲(chǔ)到數(shù)據(jù)庫(kù)的類,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03PHP Session條件競(jìng)爭(zhēng)超詳細(xì)講解
這篇文章主要介紹了PHP Session條件競(jìng)爭(zhēng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-12-12