国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php使用PDO獲取結果集的方法

2024-05-04 23:55:17
字體:
來源:轉載
供稿:網友

本文實例講述了php使用PDO獲取結果集的方法。分享給大家供大家參考,具體如下:

fetch()方法

fetch()方法用于獲取結果集的下一行,語法如下:

mixed PDOStatement::fetch([int fetch_style][,int cursor_orientation[,int cursor_offset]]])

參數fetch_style控制結果集的返回方式

PDO::FETCH_ASSOC -- 關聯數組形式
PDO::FETCH_NUM -- 數字索引數組形式
PDO::FETCH_BOTH -- 兩者數組形式都有,這是缺省的
PDO::FETCH_OBJ -- 按照對象的形式,類似于以前的 mysql_fetch_object()
PDO::FETCH_BOUND--以布爾值的形式返回結果,同時獲取的列值賦給bindParam()方法中的指定變量。
PDO::FETCH_LAZY--以關聯數組、數字索引數組和對象3種形式返回結果

cursor_orientation:PDOStatement對象的一個滾動游標,可用于獲取指定的一行。
cursor_offset: 游標的偏移量

例如:

在PDO中通過預處理語句prepare()和execute()執行SQL查詢語句,并且應用while()語句和fetch()方法完成數據的循環輸出

$dbms='mysql';//數據庫類型$dbName='admin';//使用的數據庫$user='root';//數據庫連接用戶名$pwd='password';//數據庫連接密碼$host='localhost';//數據庫主機名$dsn="$dbms:host=$host;port=3306;dbname=$dbName";try{$pdo=new PDO($dsn,$user,$pwd);//初始化一個PDO對象,就是創建了數據庫連接對象$pdo$query="select * from user";//需要執行的sql語句$res=$pdo->prepare($query);//準備查詢語句$res->execute();while($result=$res->fetch(PDO::FETCH_ASSOC)){echo $result['id']." ".$result['username']." ".$result['password'].'<br>';  }}catch(Exception $e){die("Error!:".$e->getMessage().'<br>');}

運行結果為:

1 107lab e10adc3949ba59abbe56e057f20f883e4 admin 1234565 admin 123456

fetchAll()方法

fetchAll()方法用于獲取結果集中的所有行,其返回值是一個包含結果集中所有數據的二進制數組。語法如下:

array PDOStatement::fetchAll([int fetch_style[,int column_index]])

參數說明:

fetch_style:控制結果集中數據的顯示方式。
column_index: 字段的索引。

例如:

$dbms='mysql';//數據庫類型$dbName='admin';//使用的數據庫$user='root';//數據庫連接用戶名$pwd='password';//數據庫連接密碼$host='localhost';//數據庫主機名$dsn="$dbms:host=$host;port=3306;dbname=$dbName";try{$pdo=new PDO($dsn,$user,$pwd);//初始化一個PDO對象,就是創建了數據庫連接對象$pdo$query="select * from user";//需要執行的sql語句$res=$pdo->prepare($query);//準備查詢語句$res->execute();$result=$res->fetchAll(PDO::FETCH_ASSOC);print_r($result);}catch(Exception $e){die("Error!:".$e->getMessage().'<br>');}

運行結果為: 

Array(  [0] => Array    (      [id] => 1      [username] => 107lab      [password] => e10adc3949ba59abbe56e057f20f883e    )  [1] => Array    (      [id] => 4      [username] => admin      [password] => 123456    )  [2] => Array    (      [id] => 5      [username] => admin      [password] => 123456    ))

此時可以通過foreach來遍歷這個二維數組

foreach($result as $val){echo $val['username'].'<br>';}

運行結果為:

107labadminadmin

fetchColumn()方法

fetchColumn()方法獲取結果集中下一行指定列的值,語法如下:

string PDOStatement::fetchColumn([int column_number])

可選參數column_number設置行中列的索引值,該值從0開始。如果省略該參數則將從第1列開始取值

例如:

通過fetchColumn()方法獲取結果集中下一行中指定列的值。(或第一列id的值)

$dbms='mysql';//數據庫類型$dbName='admin';//使用的數據庫$user='root';//數據庫連接用戶名$pwd='password';//數據庫連接密碼$host='localhost';//數據庫主機名$dsn="$dbms:host=$host;port=3306;dbname=$dbName";try{  $pdo=new PDO($dsn,$user,$pwd);//初始化一個PDO對象,就是創建了數據庫連接對象$pdo  $query="select * from user";//需要執行的sql語句  $res=$pdo->prepare($query);//準備查詢語句  $res->execute();  echo $res->fetchColumn(0).'<br>';  echo $res->fetchColumn(0).'<br>';  echo $res->fetchColumn(0).'<br>';}catch(Exception $e){  die("Error!:".$e->getMessage().'<br>');}

運行結果為:

145

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 商都县| 西城区| 苏尼特右旗| 栖霞市| 克拉玛依市| 台江县| 遵义市| 吉水县| 航空| 加查县| 沂南县| 通渭县| 林口县| 湖口县| 闽侯县| 宜兴市| 饶阳县| 锡林郭勒盟| 来安县| 芷江| 孟州市| 哈尔滨市| 阿克苏市| 乌鲁木齐市| 涟源市| 长春市| 沙田区| 冀州市| 陈巴尔虎旗| 宣威市| 呼图壁县| 建平县| 大同县| 河曲县| 高邑县| 陆良县| 论坛| 阳江市| 闸北区| 石棉县| 客服|