Maison > Article > base de données > Plusieurs méthodes permettant à MySQLi de traiter les ensembles de résultats de requête en PHP
Récemment, j'ai recherché des informations que je ne comprenais pas bien sur la façon d'utiliser PHP pour interroger mysql afin de traiter l'ensemble de résultats que j'ai compilé et enregistré ici (recommandations associées : tutoriel mysql<.>)
Php utilise la classe mysqli_result pour traiter les ensembles de résultats de la manière suivante
fetch_all (récupère toutes les lignes de l'ensemble de résultats sous forme de tableau associatif )
$sql="select * from user"; $result=$link->query($sql); $row=$result->fetch_all(MYSQLI_BOTH);//参数MYSQL_ASSOC、MYSQLI_NUM、MYSQLI_BOTH规定产生数组类型 $n=0; while($n<mysqli_num_rows($result)){ echo "ID:".$row[$n]["id"]."用户名:".$row[$n]["name"]."密码:".$row[$n]["password"]."<br />"; $n++; }
fetch_array (Récupère une ligne de résultats sous forme de tableau associatif, de tableau d'index numérique ou les deux)
$sql="select * from user"; $result=$link->query($sql); while($row=$result->fetch_array()){ echo "ID:".$row["id"]."用户名:".$row[1]."密码:".$row["password"]."<br />"; } //fetch_array方法不再有结果时返回返回NULL //其返回结果可以是关联数组也可以是数值数组索引,故$row["id"]、$row[1]都可以
fetch_object (Renvoie la ligne actuelle de l'ensemble de résultats en tant qu'objet)
$sql="select * from user"; $result=$link->query($sql); while($row=$result->fetch_object()){ echo "ID:".$row->id."用户名:".$row->name."密码:".$row->password."<br />"; } //如果无更多的行则返回NULL //返回的结果是对象,要以对象的方式调用
fetch_row (renvoie une ligne de résultats sous la forme d'un tableau d'énumération )
$sql="select * from user"; $result=$link->query($sql); while($row=$result->fetch_row()){ echo "ID:".$row[0]."用户名:".$row[1]."密码:".$row[2]."<br />"; } //无更多行时返回NULL //以数值下标调用数组,a[0]正确、a["id"]则不
fetch_assoc (Récupérer une ligne de résultats dans un tableau associatif)
$sql="select * from user"; $result=$link->query($sql); while($row=$result->fetch_assoc()){ echo "ID:".$row["id"]."用户名:".$row["name"]."密码:".$row["password"]."<br />"; } //无更多行时返回NULL //以关联索引访问数组,a["id"]正确、a[0]则不
fetch_field_direct (Retour en tant qu'objet Les métadonnées d'un seul champ dans l'ensemble de résultats sont une seule colonne d'informations )
$sql="select * from user"; $result=$link->query($sql); $n=0; while(1){ if(!$row=$result->fetch_field_direct($n++)) break; echo "列名:".$row->name."所在表:".$row->table."数据类型:".$row->type."<br />"; } //fetch_field_direct($n)只返回单个列,所以得不断调用该方法,没有该列时返回false
fetch_field (Renvoie les informations de colonne dans l'ensemble de résultats en tant qu'objet)
$sql="select * from user"; $result=$link->query($sql); while($row=$result->fetch_field()){ echo "列名:".$row->name."所在表:".$row->table."数据类型:".$row->type."<br />"; } //该方法检索所有的列 //以对象方式返回列信息 //返回对象属性如:name - 列名,table - 该列所在的表名,type - 该列的类型,等
fetch_fields (renvoie les informations de colonne représentant l'ensemble de résultats sous forme de tableau d'objets)
$sql="select * from user"; $result=$link->query($sql); $row=$result->fetch_fields(); foreach($row as $val){ echo "列名:".$val->name."所在表:".$val->table."数据类型:".$val->type."<br />"; } //该方法功能与目的fetch_field一样 //不一样的是该方法返回一个对象数组(如:echo $row[0]->name;输出第一列的名字),而不是一次检索一列
Autre : La classe mysqli_result a d'autres méthodes
|
Renvoie la position du pointeur de champ | ||||||||||||||
data_seek() | Ajuster le pointeur de résultat sur une ligne arbitraire dans le jeu de résultats | ||||||||||||||
num_fields( ) | Renvoie le nombre de champs (nombre de colonnes) dans l'ensemble de résultats | ||||||||||||||
field_seek()
|
Ajustez le pointeur de champ à la position de départ spécifique du champ | ||||||||||||||
free() | Libérer la mémoire associée à un jeu de résultats|||||||||||||||
fetch_lengths() | Renvoie la longueur de colonne de la ligne actuelle dans le jeu de résultats | ||||||||||||||
num_rows() | Renvoie le nombre de lignes dans l'ensemble de résultats |
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!