PDO中取得結果集之fetchAll()方法詳解
#fetchAll()方法是取得結果集的所有行,傳回一個包含結果集中所有行的二進制數組!
那麼在上一篇《PDO中取得結果集之fetch()方法詳解》中,我們介紹了fetch()方法取得結果集,我們今天將要介紹的fetchAll( )方法與上一個方法fetch()類似,但是此方法只需要呼叫一次就可以取得結果集中的所有行,並賦給傳回的陣列(二維)。
fetchAll()方法的語法格式如下:
array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )
參數fetch_style:控制結果集中資料的回傳方式,可選值如下表:
值 | 說 明 |
#PDO::FETCH_ASSOC | ##關聯陣列形式|
數字索引數組形式 | |
兩者陣列形式都有,這是預設的 | |
依照物件的形式,類似先前的mysql_fetch_object() | |
#以布林值的形式傳回結果,同時將取得的列值賦給bindParam()方法中指定的變數 | |
以關聯數組、數字索引數組和物件3種形式傳回結果。 |
<?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 $result=$res->fetchAll(PDO::FETCH_ASSOC) ; // 获取结果集中的所有数据。 for ($i=0;$i<count($result);$i++){ //循环读取二维数组中的数据。 ?> <tr> <td height="22" align="center" valign="middle"><?php echo $result[$i]['id'];?></td> <td height="22" align="center" valign="middle"><?php echo $result[$i]['username'];?></td> <td height="22" align="center" valign="middle"><?php echo $result[$i]['password'];?></td> </tr> <?php } }catch(Exception $e){ die("Error!:".$e->getMessage().'<br>'); } ?> </table>輸出的結果如下: #關於PDO中取得結果集的fetchAll()方法我們就先介紹到這裡,該方法跟我們之前介紹的fetch()方法類似,大家千萬不要用錯了,下一篇文章我們為大家接續介紹PDO中獲取結果集的第三種方法,fetchColumn()方法,具體請閱讀《
PDO中取得結果集之fetchColumn()方法詳解》!
以上是PDO中取得結果集之fetchAll()方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!