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++; }
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]都可以
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 //返回的结果是对象,要以对象的方式调用
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"]则不
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]则不
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)只返回单个列,所以得不断调用该方法,没有该列时返回falseAndere: Die Klasse mysqli_result hat eine andere Methode
field_tell() | Die Position des Feldzeigers zurückgeben | tr>||||||||||||||
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()
|
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!