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

public mysqli_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
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 Reserviert für den Standardwert, derzeit immer ""
db Der Name der Datenbank
catalog Der Name des Katalogs, immer "def"
max_length Die maximale Breite der Spalte für die Ergebnismenge
length Die Breite der Spalte wie in der Tabellendefinition angegeben
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 Die Anzahl der verwendeten Dezimalstellen (bei Integer-Spalten)

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$mysqli
= new mysqli("localhost", "my_user", "my_password", "world");

/* Verbindung überprüfen */
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)) {

/* Informationen über alle Spalten abrufen */
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();
}

/* Verbindung schließen */
$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

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

/* Verbindung überprüfen */
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)) {

/* Informationen über alle Spalten abrufen */
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);
}

/* Verbindung schließen */
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