mysqli_result::fetch_field

mysqli_fetch_field

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_field -- mysqli_fetch_fieldLiefert die Metadaten der nächsten Spalte einer Ergebnismenge

Beschreibung

Objektorientierter Stil

publicmysqli_result::fetch_field(): object|false

Prozeduraler Stil

mysqli_fetch_field(mysqli_result$result): object|false

Gibt die Definition einer Spalte aus einer Ergebnismenge als Objekt zurück. Um Informationen über alle Spalten in der Ergebnismenge abzurufen, muss diese Funktion mehrmals aufgerufen werden.

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 Objekt zurück, das die Informationen über die Definition einer Spalte enthält, oder false, wenn keine Spalteninformationen verfügbar sind.

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("localhost", "my_user", "my_password", "world");


if (mysqli_connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if (
$result = $mysqli->query($query)) {


while ($finfo = $result->fetch_field()) {

printf("Name: %s\n", $finfo->name);
printf("Tabelle: %s\n", $finfo->table);
printf("max. Länge: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Typ: %d\n\n", $finfo->type);
}
$result->close();
}


$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php
$link
= mysqli_connect("localhost", "my_user", "my_password", "world");


if (mysqli_connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if (
$result = mysqli_query($link, $query)) {


while ($finfo = mysqli_fetch_field($result)) {

printf("Name: %s\n", $finfo->name);
printf("Tabelle: %s\n", $finfo->table);
printf("max. Länge: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Typ: %d\n\n", $finfo->type);
}
mysqli_free_result($result);
}


mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Name: Name Tabelle: Country max. Länge: 11 Flags: 1 Typ: 254 Name: SurfaceArea Tabelle: Country max. Länge: 10 Flags: 32769 Typ: 4

Siehe auch

To Top