《PHP應(yīng)用:php使用PDO獲取結(jié)果集的方法》要點(diǎn):
本文介紹了PHP應(yīng)用:php使用PDO獲取結(jié)果集的方法,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
本文實(shí)例講述了php使用PDO獲取結(jié)果集的方法.分享給大家供大家參考,具體如下:PHP編程
fetch()方法PHP編程
fetch()方法用于獲取結(jié)果集的下一行,語(yǔ)法如下:PHP編程
mixed PDOStatement::fetch([int fetch_style][,int cursor_orientation[,int cursor_offset]]])
PHP編程
參數(shù)fetch_style控制結(jié)果集的返回方式PHP編程
PDO::FETCH_ASSOC -- 關(guān)聯(lián)數(shù)組形式
PDO::FETCH_NUM -- 數(shù)字索引數(shù)組形式
PDO::FETCH_BOTH -- 兩者數(shù)組形式都有,這是缺省的
PDO::FETCH_OBJ -- 按照對(duì)象的形式,類似于以前的 mysql_fetch_object()
PDO::FETCH_BOUND--以布爾值的形式返回結(jié)果,同時(shí)獲取的列值賦給bindParam()方法中的指定變量.
PDO::FETCH_LAZY--以關(guān)聯(lián)數(shù)組、數(shù)字索引數(shù)組和對(duì)象3種形式返回結(jié)果PHP編程
cursor_orientation:PDOStatement對(duì)象的一個(gè)滾動(dòng)游標(biāo),可用于獲取指定的一行.
cursor_offset: 游標(biāo)的偏移量PHP編程
例如:PHP編程
在PDO中通過(guò)預(yù)處理語(yǔ)句prepare()和execute()執(zhí)行SQL查詢語(yǔ)句,并且應(yīng)用while()語(yǔ)句和fetch()方法完成數(shù)據(jù)的循環(huán)輸出PHP編程
$dbms='mysql';//數(shù)據(jù)庫(kù)類型 $dbName='admin';//使用的數(shù)據(jù)庫(kù) $user='root';//數(shù)據(jù)庫(kù)連接用戶名 $pwd='password';//數(shù)據(jù)庫(kù)連接密碼 $host='localhost';//數(shù)據(jù)庫(kù)主機(jī)名 $dsn="$dbms:host=$host;port=3306;dbname=$dbName"; try{ $pdo=new PDO($dsn,$user,$pwd);//初始化一個(gè)PDO對(duì)象,就是創(chuàng)建了數(shù)據(jù)庫(kù)連接對(duì)象$pdo $query="select * from user";//需要執(zhí)行的sql語(yǔ)句 $res=$pdo->prepare($query);//準(zhǔn)備查詢語(yǔ)句 $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>'); }
運(yùn)行結(jié)果為:PHP編程
1 107lab e10adc3949ba59abbe56e057f20f883e 4 admin 123456 5 admin 123456
fetchAll()方法PHP編程
fetchAll()方法用于獲取結(jié)果集中的所有行,其返回值是一個(gè)包含結(jié)果集中所有數(shù)據(jù)的二進(jìn)制數(shù)組.語(yǔ)法如下:PHP編程
array PDOStatement::fetchAll([int fetch_style[,int column_index]])
PHP編程
參數(shù)說(shuō)明:PHP編程
fetch_style:控制結(jié)果集中數(shù)據(jù)的顯示方式.
column_index: 字段的索引.PHP編程
例如:PHP編程
$dbms='mysql';//數(shù)據(jù)庫(kù)類型 $dbName='admin';//使用的數(shù)據(jù)庫(kù) $user='root';//數(shù)據(jù)庫(kù)連接用戶名 $pwd='password';//數(shù)據(jù)庫(kù)連接密碼 $host='localhost';//數(shù)據(jù)庫(kù)主機(jī)名 $dsn="$dbms:host=$host;port=3306;dbname=$dbName"; try{ $pdo=new PDO($dsn,$user,$pwd);//初始化一個(gè)PDO對(duì)象,就是創(chuàng)建了數(shù)據(jù)庫(kù)連接對(duì)象$pdo $query="select * from user";//需要執(zhí)行的sql語(yǔ)句 $res=$pdo->prepare($query);//準(zhǔn)備查詢語(yǔ)句 $res->execute(); $result=$res->fetchAll(PDO::FETCH_ASSOC); print_r($result); }catch(Exception $e){ die("Error!:".$e->getMessage().'<br>'); }
運(yùn)行結(jié)果為:?PHP編程
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 ) )
此時(shí)可以通過(guò)foreach來(lái)遍歷這個(gè)二維數(shù)組PHP編程
foreach($result as $val){ echo $val['username'].'<br>'; }
運(yùn)行結(jié)果為:PHP編程
107lab admin admin
fetchColumn()方法PHP編程
fetchColumn()方法獲取結(jié)果集中下一行指定列的值,語(yǔ)法如下:PHP編程
string PDOStatement::fetchColumn([int column_number])
PHP編程
可選參數(shù)column_number設(shè)置行中列的索引值,該值從0開(kāi)始.如果省略該參數(shù)則將從第1列開(kāi)始取值PHP編程
例如:PHP編程
通過(guò)fetchColumn()方法獲取結(jié)果集中下一行中指定列的值.(或第一列id的值)PHP編程
$dbms='mysql';//數(shù)據(jù)庫(kù)類型 $dbName='admin';//使用的數(shù)據(jù)庫(kù) $user='root';//數(shù)據(jù)庫(kù)連接用戶名 $pwd='password';//數(shù)據(jù)庫(kù)連接密碼 $host='localhost';//數(shù)據(jù)庫(kù)主機(jī)名 $dsn="$dbms:host=$host;port=3306;dbname=$dbName"; try{ $pdo=new PDO($dsn,$user,$pwd);//初始化一個(gè)PDO對(duì)象,就是創(chuàng)建了數(shù)據(jù)庫(kù)連接對(duì)象$pdo $query="select * from user";//需要執(zhí)行的sql語(yǔ)句 $res=$pdo->prepare($query);//準(zhǔn)備查詢語(yǔ)句 $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>'); }
運(yùn)行結(jié)果為:PHP編程
1 4 5
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫(kù)技巧總結(jié)》、《php+Oracle數(shù)據(jù)庫(kù)程序設(shè)計(jì)技巧總結(jié)》、《PHP+MongoDB數(shù)據(jù)庫(kù)操作技巧大全》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》PHP編程
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助.PHP編程
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/1778.html