(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_fields -- mysqli_fetch_fields — Liefert ein Array von Objekten, die die Spalten einer Ergebnismenge darstellen
Objektorientierter Stil
Prozeduraler Stil
Diese Funktion erfüllt den gleichen Zweck wie die Funktion mysqli_fetch_field(), mit dem einzigen Unterschied, dass die Spalten als Array von Objekten zurückgegeben werden, anstatt für jede Spalte ein einzelnes Objekt zurückzugeben.
result
Nur bei prozeduralem Aufruf: Ein von mysqli_query(), mysqli_store_result(), mysqli_use_result() oder mysqli_stmt_get_result() zurückgegebenes mysqli_result-Objekt.
Gibt ein Array von Objekten zurück, die die Informationen über die Definition der Spalten enthalten.
Eigenschaft | Beschreibung |
---|---|
name | Der Name der Spalte |
orgname | Der ursprüngliche Name der Spalte, falls ein Alias angegeben wurde |
table | Der Name der Tabelle, zu der diese Spalte gehört (falls nicht berechnet) |
orgtable | Der ursprüngliche Name der Tabelle, falls ein Alias angegeben wurde |
def | Nicht verwendet; immer eine leere Zeichenkette |
db | Der Name der Datenbank |
catalog | Nicht verwendet; immer "def" |
max_length | Die maximale Breite der Spalte für die Ergebnismenge. Seit PHP 8.1 ist dieser Wert immer 0 . |
length | Die Breite der Spalte in Bytes. Bei Zeichenkettenspalten hängt der Längenwert vom Zeichensatz der Verbindung ab. Ist der Zeichensatz z. B. ein Ein-Byte-Zeichensatz wie latin1 , beträgt der Längenwert für eine SELECT 'abc' -Abfrage 3. Ist der Zeichensatz ein Multibyte-Zeichensatz wie utf8mb4 , bei dem die Zeichen bis zu 4 Bytes umfassen, beträgt der Längenwert 12. |
charsetnr | Die Nummer des Zeichensatzes der Spalte |
flags | Ein Integer, der die Bit-Flags der Spalte darstellt |
type | Der für diese Spalte verwendete Datentyp |
decimals | Bei numerischen Spalten die Anzahl der Dezimalstellen, bei Zeitspalten die Genauigkeit der Sekundenbruchteile. |
Beispiel #1 Objektorientierter Stil
<?php
$mysqli = new mysqli("127.0.0.1", "root", "foofoo", "sakila");
if ($mysqli->connect_errno) {
printf("Verbindung fehlgeschlagen: %s\n", $mysqli->connect_error);
exit();
}
foreach (array('latin1', 'utf8') as $charset) {
// Zeichensatz ändern, um dessen Auswirkung auf einige Werte
Beispiel #2 Prozeduraler Stil
<?php
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "sakila");
if (mysqli_connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}
foreach (array('latin1', 'utf8') as $charset) {
// Zeichensatz ändern, um dessen Auswirkung auf einige Werte
Die obigen Bespiele erzeugen folgende Ausgabe:
====================== Zeichensatz: latin1 ====================== Name: actor_id Tabelle: actor max. Länge: 3 Länge: 5 Zeichensatz-Nr.: 63 Flags: 49699 Typ: 2 Name: last_name Tabelle: actor max. Länge: 12 Länge: 45 Zeichensatz-Nr.: 8 Flags: 20489 Typ: 253 ====================== Zeichensatz: utf8 ====================== Name: actor_id Tabelle: actor max. Länge: 3 Länge: 5 Zeichensatz-Nr.: 63 Flags: 49699 Typ: 2 Name: last_name Tabelle: actor max. Länge: 12 Länge: 135 Zeichensatz-Nr.: 33 Flags: 20489