(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_field -- mysqli_fetch_field — Liefert die Metadaten der nächsten Spalte einer Ergebnismenge
Objektorientierter Stil
Prozeduraler Stil
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.
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 Objekt zurück, das die Informationen über die Definition einer
Spalte enthält, oder false
, wenn keine Spalteninformationen verfügbar sind.
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) |
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