PDOで結果セットを取得するfetchAll()メソッドの詳細説明
fetchAll()メソッドは、結果セット内のすべての行を取得し、結果セット内のすべての行を含むバイナリ配列を返します。 !
前回の記事「PDOで結果セットを取得するfetch()メソッドを詳しく解説」では、結果セットを取得するfetch()メソッドを紹介しましたが、今回紹介するfetchAll()メソッドは異なります。前のメソッド fetch( ) と似ていますが、このメソッドを呼び出す必要があるのは 1 回だけで、結果セット内のすべての行を取得し、返された配列 (2 次元) に割り当てることができます。
fetchAll() メソッドの構文形式は次のとおりです。
array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )
パラメータ fetch_style: 結果セット内のデータの戻り方法を制御します。 オプションの値は次のとおりです。
value | は言いました |
連想配列形式 | |
数値インデックス配列形式 | |
どちらの配列形式も利用可能です。これがデフォルトです | |
フォロー オブジェクトの形式は前の mysql_fetch_object() と似ています | |
は結果をブール値の形式で返し、取得したカラム値をbindParam() メソッドで指定された変数 | |
結果を 3 つの形式 (連想配列、数値インデックス配列、オブジェクト) で返します。 |
戻り値は、結果セット内のすべてのデータを含む 2 次元配列です。
次に、fetchAll() メソッドを通じて結果セット内のすべての行を取得し、for ステートメントを通じて 2 次元配列内のデータを読み取り、データベース内のデータのループ出力を完了します。具体的な手順は次のとおりです。
まず php ファイルを作成し、PDO Connect を使用して MySQL データベースに接続します。次に、SELECT クエリ ステートメントを定義し、prepare() メソッドとexecute() メソッドを使用してクエリ操作を実行し、結果セット内のすべての行を返します。 fetchAll() メソッドを使用し、最後に for ステートメントを使用して、結果セット内のすべてのデータのループ出力を完了します。 コードは次のとおりです。
<?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() メソッドと似ています。次の記事では 3 番目のメソッドを紹介します。 PDOで結果セットを取得するfetchColumn()メソッドについて詳しくは「
PDOで結果セットを取得するfetchColumn()メソッドを詳しく解説以上がPDOで結果セットを取得するfetchAll()メソッドの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。