Heim > Datenbank > MySQL-Tutorial > Mehrere Methoden für MySQL zur Verarbeitung von Abfrageergebnismengen in PHP

Mehrere Methoden für MySQL zur Verarbeitung von Abfrageergebnismengen in PHP

藏色散人
Freigeben: 2019-04-18 11:48:27
nach vorne
2809 Leute haben es durchsucht

Kürzlich habe ich nach Informationen über verschiedene Methoden zum Abfragen von MySQL-Ergebnismengen mit PHP gesucht, die ich nicht ganz verstand, deshalb habe ich sie hier zusammengestellt (relevante Empfehlungen: MySQL-Tutorial)

Php verwendet die Klasse mysqli_result, um Ergebnismengen auf folgende Weise zu verarbeiten

fetch_all() 抓取所有的结果行并且以关联数据,数值索引数组,或者两者皆有的方式返回结果集。
fetch_array() 以一个关联数组,数值索引数组,或者两者皆有的方式抓取一行结果。
fetch_object() 以对象返回结果集的当前行。
fetch_row() 以枚举数组方式返回一行结果
fetch_assoc() 以一个关联数组方式抓取一行结果。
fetch_field_direct() 以对象返回结果集中单字段的元数据。
fetch_field() 以对象返回结果集中的列信息
fetch_fields() 以对象数组返回代表结果集中的列信息

fetch_all (alle Zeilen aus der Ergebnismenge als assoziatives Array abrufen )

  $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++;
  }
Nach dem Login kopieren

fetch_array (Eine Ergebniszeile als assoziatives Array, numerisches Indexarray oder beides abrufen)

 $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]都可以
Nach dem Login kopieren

fetch_object (Gibt die aktuelle Zeile der Ergebnismenge als Objekt zurück)

   $sql="select * from user";
        $result=$link->query($sql);
        while($row=$result->fetch_object()){
            echo "ID:".$row->id."用户名:".$row->name."密码:".$row->password."<br />";
        }
//如果无更多的行则返回NULL
//返回的结果是对象,要以对象的方式调用
Nach dem Login kopieren

fetch_row (gibt eine Ergebniszeile in Form eines Aufzählungsarrays zurück)

  $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"]则不
Nach dem Login kopieren

fetch_assoc (Eine Ergebniszeile in einem assoziativen Array abrufen)

 $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]则不
Nach dem Login kopieren

fetch_field_direct (Gibt die Metadaten eines einzelnen Felds zurück in die Ergebnismenge als Objekt, das eine einspaltige Info ist 🎜> (Spalteninformationen in der Ergebnismenge als Objekt zurückgeben >Spalteninformationen zurückgeben, die die Ergebnismenge als Objektarray darstellen

)

$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
Nach dem Login kopieren
Andere: Die Klasse mysqli_result hat eine andere Methode tr>

Referenzen: PHP-Handbuch (http://php.net/manual /zh/class.mysqli-result.php)
field_tell() Die Position des Feldzeigers zurückgeben
data_seek()

Passen Sie den Ergebniszeiger auf eine beliebige Zeile in der Ergebnismenge an

num_fields()

Das Ergebnis zurückgeben. Die Anzahl der Felder im Satz (Anzahl der Spalten)
field_seek() Passen Sie den Feldzeiger auf eine bestimmte Feldstartposition an
free() Gibt Speicher frei, der sich auf eine Ergebnismenge bezieht

fetch_lengths ()

Gibt die Spaltenlänge der aktuellen Zeile im Ergebnissatz zurück

num_rows()
field_tell() 返回字段指针的位置
data_seek() 调整结果指针到结果集中的一个任意行
num_fields() 返回结果集中的字段数(列数)
field_seek() 调整字段指针到特定的字段开始位置
free()  释放与某个结果集相关的内存
fetch_lengths() 返回结果集中当前行的列长度
num_rows() 返回结果集中的行数

Gibt die Anzahl der Zeilen im Ergebnissatz zurück

Das obige ist der detaillierte Inhalt vonMehrere Methoden für MySQL zur Verarbeitung von Abfrageergebnismengen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage