程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php數據庫抽象層 PDO

php數據庫抽象層 PDO

編輯:PHP綜合
下面就來介紹一下數據庫抽象層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連接錯誤時的處理:
復制代碼 代碼如下:
<?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();
}
?>

下面是兩個重復使用插入語句的例子:
復制代碼 代碼如下:
<?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);
}
}
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved