mysqli_result::fetch_fields

mysqli_fetch_fields

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_fields -- mysqli_fetch_fieldsLiefert ein Array von Objekten, die die Spalten einer Ergebnismenge darstellen

Beschreibung

Objektorientierter Stil

publicmysqli_result::fetch_fields(): array

Prozeduraler Stil

mysqli_fetch_fields(mysqli_result$result): array

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.

Parameter-Liste

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.

Rückgabewerte

Gibt ein Array von Objekten zurück, die die Informationen über die Definition der Spalten enthalten.

Eigenschaften des Objekts
EigenschaftBeschreibung
nameDer Name der Spalte
orgnameDer ursprüngliche Name der Spalte, falls ein Alias angegeben wurde
tableDer Name der Tabelle, zu der diese Spalte gehört (falls nicht berechnet)
orgtableDer ursprüngliche Name der Tabelle, falls ein Alias angegeben wurde
defNicht verwendet; immer eine leere Zeichenkette
dbDer Name der Datenbank
catalogNicht 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.
charsetnrDie Nummer des Zeichensatzes der Spalte
flagsEin Integer, der die Bit-Flags der Spalte darstellt
typeDer für diese Spalte verwendete Datentyp
decimals Bei numerischen Spalten die Anzahl der Dezimalstellen, bei Zeitspalten die Genauigkeit der Sekundenbruchteile.

Beispiele

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

Siehe auch

To Top