Maison > base de données > tutoriel mysql > le corps du texte

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

藏色散人
Libérer: 2019-04-18 11:48:27
avant
2736 Les gens l'ont consulté

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++;
  }
Copier après la connexion

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]都可以
Copier après la connexion

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
//返回的结果是对象,要以对象的方式调用
Copier après la connexion

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"]则不
Copier après la connexion

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]则不
Copier après la connexion

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
Copier après la connexion

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 - 该列的类型,等
Copier après la connexion

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;输出第一列的名字),而不是一次检索一列
Copier après la connexion

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!