Home  >  Article  >  Backend Development  >  Detailed explanation of the fetchAll() method for obtaining result sets in PDO

Detailed explanation of the fetchAll() method for obtaining result sets in PDO

黄舟
黄舟Original
2017-04-28 17:39:2421717browse

Detailed explanation of the fetchAll() method for obtaining the result set in PDO

The fetchAll() method obtains all rows in the result set and returns a Binary array of rows!

So in the previous article "Detailed Explanation of the fetch() Method for Obtaining Result Sets in PDO", we introduced the fetch() method to obtain the result set. We will introduce the fetchAll( ) method is similar to the previous method fetch(), but this method only needs to be called once to get all the rows in the result set and assign them to the returned array (two-dimensional).

The syntax format of the fetchAll() method is as follows:

array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )

Parameter fetch_style: Controls the return method of data in the result set. The optional values ​​are as follows:

ValueSaid MingPDO::FETCH_ASSOCAssociative array form PDO::FETCH_NUMNumeric index array formPDO::FETCH_BOTHBoth array forms are available, this is the defaultPDO::FETCH_OBJAccording to the form of the object, similar to the previous mysql_fetch_object()PDO::FETCH_BOUND Return the result in the form of a Boolean value, and assign the obtained column value to the variable specified in the bindParam() method PDO::FETCH_LAZY to Results are returned in three forms: associative array, numeric index array, and object.
Parameter column_index: The index of the field!

The return value is a two-dimensional array containing all the data in the result set.

Below we obtain all the rows in the result set through the fetchAll() method, and read the data in the two-dimensional array through the for statement to complete the loop output of the data in the database. The specific steps are as follows:

First create a php file, connect to the MySQL database through PDO, then define the SELECT query statement, apply the prepare() and execute() methods to perform the query operation, then return all rows in the result set through the fetchAll() method, and finally use the for statement to complete Loop output of all data in the result set, the code is as follows:

<?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][&#39;id&#39;];?></td>
        <td height="22" align="center" valign="middle"><?php echo $result[$i][&#39;username&#39;];?></td>
        <td height="22" align="center" valign="middle"><?php echo $result[$i][&#39;password&#39;];?></td>
        </tr>
<?php
    }
}catch(Exception $e){
    die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
?>
</table>

The output results are as follows:

Detailed explanation of the fetchAll() method for obtaining result sets in PDO

About the fetchAll() method of obtaining the result set in PDO we Let’s introduce it here first. This method is similar to the fetch() method we introduced before. Don’t use it wrongly. In the next article, we will introduce the third method of obtaining the result set in PDO, fetchColumn() Method, for details, please read "

Detailed Explanation of the fetchColumn() Method for Obtaining Result Sets in PDO"!

The above is the detailed content of Detailed explanation of the fetchAll() method for obtaining result sets in PDO. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn