本文實例講述了PHP使用pdo連接access數(shù)據(jù)庫并循環(huán)顯示數(shù)據(jù)操作。分享給大家供大家參考,具體如下:
PDO連接與查詢:
try {
$conn = new PDO("odbc:driver={microsoft access driver (*.mdb)};
dbq=".realpath("MyDatabase.mdb"))
or die("鏈接錯誤!");
//echo "鏈接成功!";
}
catch(PDOException $e){
echo $e->getMessage();
}
$sql = "select * from users";
1. foreach()
方法
foreach ($conn->query($sql) as $row) {
$row["UserID"];
$row["UserName"];
$row["UserPassword"];
}
2. while()
方法
$rs = $conn->query($sql);
$rs->setFetchMode(PDO::FETCH_NUM);
while($row=$rs->fetch()){
$row[0];
$row[1];
$row[2];
}
php使用PDO抽象層獲取查詢結(jié)果,主要有三種方式:
(1)PDO::query()
查詢。
看下面這段php代碼:
?php
//PDO::query()查詢
$res = $db->query('select * from user');
$res->setFetchMode(PDO::FETCH_NUM); //數(shù)字索引方式
while ($row = $res->fetch()){
print_r($row);
}
?>
(2)PDO->exec()
處理sql
?php
//PDO->exec()處理sql
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$res = $db->exec("insert into user(id,name) values('','php點點通')");
echo $res;
?>
(3)PDO::prepare()
預(yù)處理執(zhí)行查詢
?php
//PDO::prepare()預(yù)處理執(zhí)行查詢
$res = $db->prepare("select * from user");
$res->execute();
while ($row = $res->fetchAll()) {
print_r($row);
}
?>
setAttribute()
方法是設(shè)置屬性,常用參數(shù)如下:
PDO::CASE_LOWER -- 強(qiáng)制列名是小寫
PDO::CASE_NATURAL -- 列名按照原始的方式
PDO::CASE_UPPER -- 強(qiáng)制列名為大寫
setFetchMode
方法來設(shè)置獲取結(jié)果集的返回值的類型,常用參數(shù)如下:
PDO::FETCH_ASSOC -- 關(guān)聯(lián)數(shù)組形式
PDO::FETCH_NUM -- 數(shù)字索引數(shù)組形式
PDO::FETCH_BOTH -- 兩者數(shù)組形式都有,這是默認(rèn)的
PDO::FETCH_OBJ -- 按照對象的形式,類似于以前的 mysql_fetch_object()
對上面總結(jié)如下:
查詢操作主要是PDO::query()
、PDO::exec()
、PDO::prepare()
。
PDO->query() — 處理一條SQL語句,并返回一個“PDOStatement”
PDO->exec() — 處理一條SQL語句,并返回所影響的條目數(shù)
PDO::prepare()
主要是預(yù)處理操作,需要通過$rs->execute()來執(zhí)行預(yù)處理里面的SQL語句
最后介紹兩個常用的函數(shù):
(1)fetchColumn()
獲取指定記錄里一個字段結(jié)果,默認(rèn)是第一個字段!
?php
$res = $db->query('select * from user');
//獲取指定記錄里第二個字段結(jié)果
$col = $res->fetchColumn(1);
echo $col;
?>
(2)fetchAll()
,從一個結(jié)果集中獲取數(shù)據(jù),然后存放在關(guān)聯(lián)數(shù)組中
?php
$res = $db->query('select * from user');
$res_arr =$res->fetchAll();
print_r($res_arr);
?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《php+Oracle數(shù)據(jù)庫程序設(shè)計技巧總結(jié)》、《PHP+MongoDB數(shù)據(jù)庫操作技巧大全》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
您可能感興趣的文章:- PHP5中使用PDO連接數(shù)據(jù)庫的方法
- PHP中PDO連接數(shù)據(jù)庫中各種DNS設(shè)置方法小結(jié)
- ThinkPHP框架基于PDO方式連接數(shù)據(jù)庫操作示例
- php使用pdo連接并查詢sql數(shù)據(jù)庫的方法
- PHP使用PDO連接ACCESS數(shù)據(jù)庫
- PHP實現(xiàn)基于PDO擴(kuò)展連接PostgreSQL對象關(guān)系數(shù)據(jù)庫示例
- PHP實現(xiàn)PDO的mysql數(shù)據(jù)庫操作類
- php使用PDO操作MySQL數(shù)據(jù)庫實例
- PHP封裝的數(shù)據(jù)庫模型Model類完整示例【基于PDO】
- PHP實現(xiàn)的pdo連接數(shù)據(jù)庫并插入數(shù)據(jù)功能簡單示例