您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關怎么在PHP中利用pdo方式連接access數據庫,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
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抽象層獲取查詢結果,主要有三種方式:
(1)PDO::query()
查詢。
看下面這段php代碼:
<?php //PDO::query()查詢 $res = $db->query('select * from user'); $res->setFetchMode(PDO::FETCH_NUM); //數字索引方式 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()
預處理執行查詢
<?php //PDO::prepare()預處理執行查詢 $res = $db->prepare("select * from user"); $res->execute(); while ($row = $res->fetchAll()) { print_r($row); } ?>
setAttribute()
方法是設置屬性,常用參數如下:
PDO::CASE_LOWER -- 強制列名是小寫
PDO::CASE_NATURAL -- 列名按照原始的方式
PDO::CASE_UPPER -- 強制列名為大寫
setFetchMode
方法來設置獲取結果集的返回值的類型,常用參數如下:
PDO::FETCH_ASSOC -- 關聯數組形式
PDO::FETCH_NUM -- 數字索引數組形式
PDO::FETCH_BOTH -- 兩者數組形式都有,這是默認的
PDO::FETCH_OBJ -- 按照對象的形式,類似于以前的 mysql_fetch_object()
對上面總結如下:
查詢操作主要是PDO::query()
、PDO::exec()
、PDO::prepare()
。
PDO->query() — 處理一條SQL語句,并返回一個“PDOStatement”
PDO->exec() — 處理一條SQL語句,并返回所影響的條目數PDO::prepare()
主要是預處理操作,需要通過$rs->execute()來執行預處理里面的SQL語句
最后介紹兩個常用的函數:
(1)fetchColumn()
獲取指定記錄里一個字段結果,默認是第一個字段!
<?php $res = $db->query('select * from user'); //獲取指定記錄里第二個字段結果 $col = $res->fetchColumn(1); echo $col; ?>
(2)fetchAll()
,從一個結果集中獲取數據,然后存放在關聯數組中
<?php $res = $db->query('select * from user'); $res_arr =$res->fetchAll(); print_r($res_arr); ?>
上述就是小編為大家分享的怎么在PHP中利用pdo方式連接access數據庫了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。