Explication détaillée de la méthode fetchAll() pour obtenir l'ensemble de résultats dans PDO
La méthode fetchAll() obtient toutes les lignes de l'ensemble de résultats et renvoie une liste contenant toutes les lignes du jeu de résultats. Tableau binaire de lignes !
Ensuite, dans l'article précédent "Explication détaillée de la méthode fetch() pour obtenir des ensembles de résultats dans PDO", nous avons introduit la méthode fetch() pour obtenir l'ensemble de résultats. la méthode fetchAll() est similaire à la méthode précédente fetch(), mais cette méthode ne doit être appelée qu'une seule fois pour obtenir toutes les lignes du jeu de résultats et les affecter au tableau renvoyé (bidimensionnel).
Le format de syntaxe de la méthode fetchAll() est le suivant :
array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )
Paramètre fetch_style : contrôle la méthode de retour des données dans l'ensemble de résultats. Les valeurs facultatives sont les suivantes. :
值 | 说 明 |
PDO::FETCH_ASSOC | 关联数组形式 |
PDO::FETCH_NUM | 数字索引数组形式 |
PDO::FETCH_BOTH | 两者数组形式都有,这是默认的 |
PDO::FETCH_OBJ | 按照对象的形式,类似于以前的mysql_fetch_object() |
PDO::FETCH_BOUND | 以布尔值的形式返回结果,同时将获取的列值赋给bindParam()方法中指定的变量 |
PDO::FETCH_LAZY | 以关联数组、数字索引数组和对象3种形式返回结果。 |
Paramètre column_index : l'index du champ !
La valeur de retour est un tableau à deux dimensions contenant toutes les données de l'ensemble de résultats.
Ci-dessous, nous utilisons la méthode fetchAll() pour obtenir toutes les lignes de l'ensemble de résultats et lisons les données dans le tableau bidimensionnel via l'instruction for pour terminer la sortie en boucle des données dans la base de données. Les étapes spécifiques sont les suivantes :
Créez d'abord un fichier php, connectez-vous à la base de données MySQL via PDO, puis définissez l'instruction de requête SELECT, appliquez les méthodes préparer() et exécuter() pour effectuer l'opération de requête, puis renvoyez toutes les lignes de l'ensemble de résultats via la méthode fetchAll(), et enfin utilisez l'instruction for pour terminer la sortie en boucle de toutes les données de l'ensemble de résultats, le code est le suivant :
<?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>
La sortie Le résultat est le suivant :
À propos de fetchAll() pour obtenir l'ensemble de résultats dans PDO Nous présenterons d'abord la méthode ici. Cette méthode est similaire à la méthode fetch() que nous avons. introduit précédemment. Ne l'utilisez pas à tort. Dans le prochain article, nous présenterons la troisième méthode pour obtenir l'ensemble de résultats dans PDO, la méthode fetchColumn (), veuillez lire " Explication détaillée de la méthode fetchColumn() pour. obtention d'ensembles de résultats dans PDO " pour plus de détails !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!