首頁 >後端開發 >php教程 >PDO中取得結果集之fetch()方法詳解

PDO中取得結果集之fetch()方法詳解

黄舟
黄舟原創
2017-04-28 17:38:4018549瀏覽

PDO中取得結果集之fetch()方法詳解

#我們在先前介紹PHP操作MYSQL的時候,也介紹了幾個取得結果集中的記錄,還不熟悉的小夥伴可以去我們的專題PHP操作MySQL回顧一下,那麼在PDO 中也有幾個方法獲取結果集,我們會一一介紹這幾個方法!

在上一篇《PDO中執行SQL語句的三種方法》中,我們介紹了PDO執行SQL語句的三種方法,那麼在本文中我們將介紹PDO獲取結果集的幾種方法之一的fetch()方法!

fetch()方法取得結果集中的下一行數據,函數的具體語法格式如下:

mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )

參數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:遊標的偏移量。

下面實例透過fetch()方法取得結果集中下一行的數據,進而應用while 語句完成資料庫中資料的循環輸出,步驟如下:

先建立一個php文件,透過PDO連接MySQL資料庫,然後定義SELECT查詢語句,應用prepare()和execute()方法執行查詢操作,接著,透過fetch()方法返回結果集中下一行資料沒同事設定結果集以關聯數組形式返回,最後透過while語句完成資料的迴圈輸出,具體程式碼如下:

<?php
header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式
$dbms = "mysql";                                  // 数据库的类型
$dbName ="php_cn";                                //使用的数据库名称
$user = "root";                                   //使用的数据库用户名
$pwd = "root";                                    //使用的数据库密码
$host = "localhost";                              //使用的主机名称
$dsn  = "$dbms:host=$host;dbname=$dbName";
try{
    $pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
    $query="select * from user";//需要执行的sql语句
    $res=$pdo->prepare($query);//准备查询语句
    $res->execute();            //执行查询语句,并返回结果集
    ?>
    <table border="1" width="500">
        <tr>
            <td height="22" align="center" valign="middle">id</td>
            <td height="22" align="center" valign="middle">用户名</td>
            <td height="22" align="center" valign="middle">密码</td>
        </tr>
        <?php
    while($result=$res->fetch(PDO::FETCH_ASSOC)){         // 循环输出查询结果集,并且设置结果集为关联数据形式。
        ?>
        <tr>
        <td height="22" align="center" valign="middle"><?php echo $result["id"];?></td>
        <td height="22" align="center" valign="middle"><?php echo $result["username"];?></td>
        <td height="22" align="center" valign="middle"><?php echo $result["password"];?></td>
        </tr>
<?php
    }
}catch(Exception $e){
    die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
?>
</table>

最後輸出的如下:

PDO中取得結果集之fetch()方法詳解

#關於PDO中取得結果集的fetch()方法我們就介紹到這裡,大家可以再自己的本地試一試聯繫一下,鞏固一下所學的只是,下面一篇文章我們繼續給大家介紹PDO中獲取結果集的方法,具體請閱讀《PDO中取得結果集之fetchAll()方法詳解》!

以上是PDO中取得結果集之fetch()方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn