欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php使用PDO獲取結(jié)果集的方法

 更新時間:2017年02月16日 11:11:42   作者:水晶依戀  
這篇文章主要介紹了php使用PDO獲取結(jié)果集的方法,結(jié)合實(shí)例形式分析了PDO獲取結(jié)果集的常用函數(shù)與相關(guān)使用技巧,需要的朋友可以參考下

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

fetch()方法

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

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

參數(shù)fetch_style控制結(jié)果集的返回方式

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

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

例如:

在PDO中通過預(yù)處理語句prepare()和execute()執(zhí)行SQL查詢語句,并且應(yīng)用while()語句和fetch()方法完成數(shù)據(jù)的循環(huán)輸出

$dbms='mysql';//數(shù)據(jù)庫類型
$dbName='admin';//使用的數(shù)據(jù)庫
$user='root';//數(shù)據(jù)庫連接用戶名
$pwd='password';//數(shù)據(jù)庫連接密碼
$host='localhost';//數(shù)據(jù)庫主機(jī)名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);//初始化一個PDO對象,就是創(chuàng)建了數(shù)據(jù)庫連接對象$pdo
$query="select * from user";//需要執(zhí)行的sql語句
$res=$pdo->prepare($query);//準(zhǔn)備查詢語句
$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é)果為:

1 107lab e10adc3949ba59abbe56e057f20f883e
4 admin 123456
5 admin 123456

fetchAll()方法

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

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

參數(shù)說明:

fetch_style:控制結(jié)果集中數(shù)據(jù)的顯示方式。
column_index: 字段的索引。

例如:

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

運(yùn)行結(jié)果為: 

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來遍歷這個二維數(shù)組

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

運(yùn)行結(jié)果為:

107lab
admin
admin

fetchColumn()方法

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

string PDOStatement::fetchColumn([int column_number])

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

例如:

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

$dbms='mysql';//數(shù)據(jù)庫類型
$dbName='admin';//使用的數(shù)據(jù)庫
$user='root';//數(shù)據(jù)庫連接用戶名
$pwd='password';//數(shù)據(jù)庫連接密碼
$host='localhost';//數(shù)據(jù)庫主機(jī)名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
  $pdo=new PDO($dsn,$user,$pwd);//初始化一個PDO對象,就是創(chuàng)建了數(shù)據(jù)庫連接對象$pdo
  $query="select * from user";//需要執(zhí)行的sql語句
  $res=$pdo->prepare($query);//準(zhǔn)備查詢語句
  $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é)果為:

1
4
5

更多關(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è)計有所幫助。

相關(guān)文章

最新評論