日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库抽象层 PDO

發布時間:2025/4/14 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库抽象层 PDO 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因為這段時間工作比較忙 ?所以很長時間沒有更新技術博客了。 在這段時間學習到了很多以前沒有接觸過的東西。下面就來介紹一下數據庫抽象層PDO的使用:

PDO(PHP Data Objects)是一個輕量級的PHP擴展,提供了一個數據訪問抽象層。還要就是PDO只能在PHP5.0以上版本使用。

下面來介紹一下PDO常用的預定義常量:

PDO::PARAM_BOOL?(integer)    表示布爾數據類型

PDO::PARAM_NULL?(integer)    表示數據類型為NULL的SQL

PDO::PARAM_INT?(integer)     ?表示為integer數據類型的SQL

PDO::PARAM_STR?(integer)     ?表示為char varchar 或者其他字符串的數據類型的SQL

PDO::PARAM_LOB?(integer)     ?表示對象數據類型的SQL

PDO::FETCH_LAZY?(integer)    指定的獲取方式,應當返回結果集的每一行作為一個對象的變量名,對應于它的字段名

PDO::FETCH_ORI_NEXT?(integer) 取結果集的下一行

PDO::FETCH_ORI_PRIOR?(integer)?取結果集的前面的行

PDO::FETCH_ORI_FIRST?(integer)?取結果集的第一行

PDO::FETCH_ORI_LAST?(integer) 取結果集的最后一行

PDO::ATTR_PERSISTENT?(integer) ? 創建一個持久連接,而不是新創建一個連接

PDO的基本用法:

使用PDO與數據庫連接(這里只使用MySQL):

<?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); ?>

下面的代碼是對MySQL連接錯誤時的處理:

1 <?php
2 try {
3 $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
4 foreach($dbh->query('SELECT * from FOO') as $row) {
5 print_r($row);
6 }
7 $dbh = null;
8 } catch (PDOException $e) {
9 print "Error!: " . $e->getMessage() . "<br/>";
10 die();
11 }
12 ?>

下面是兩個重復使用插入語句的例子:

<?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();
?>

對數據庫進行查詢操作:

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) {
while ($row = $stmt->fetch()) {
print_r($row);
}
}
?>

轉載于:https://www.cnblogs.com/confusing/archive/2011/05/04/2037109.html

總結

以上是生活随笔為你收集整理的数据库抽象层 PDO的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。