Maison  >  Article  >  base de données  >  Plusieurs méthodes permettant à MySQLi de traiter les ensembles de résultats de requête en PHP

Plusieurs méthodes permettant à MySQLi de traiter les ensembles de résultats de requête en PHP

藏色散人
藏色散人avant
2019-04-18 11:48:272781parcourir

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

Libérer la mémoire associée à un jeu de résultats
field_tell() 返回字段指针的位置
data_seek() 调整结果指针到结果集中的一个任意行
num_fields() 返回结果集中的字段数(列数)
field_seek() 调整字段指针到特定的字段开始位置
free()  释放与某个结果集相关的内存
fetch_lengths() 返回结果集中当前行的列长度
num_rows() 返回结果集中的行数
field_tell()

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()
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
Référence : manuel php (http : //php.net/manual/zh/class.mysqli-result.php)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer