Liefert ein Objekt mit Spalteninformationen aus einem Abfrageergebnis

# mysql_fetch_field

(PHP 4, PHP 5)

mysql_fetch_field — Liefert ein Objekt mit Spalteninformationen aus einem Abfrageergebnis

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen bietet der Ratgeber MySQL: Auswahl einer API. Alternativen zu dieser Funktion umfassen:

- mysqli_fetch_field()
- PDOStatement::getColumnMeta()

### Beschreibung

function mysql_fetch_field(resource `$result`, int `$field_offset` = 0): object

Gibt ein Objekt zurück, das Feldinformationen enthält. Diese Funktion kann verwendet werden, um Informationen über Felder im übergebenen Abfrageergebnis zu erhalten.

### Parameter-Liste

`result`

  Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

`field_offset`
  Der numerische Feldoffset. Wird dieser nicht angegeben, so werden die Informationen über das nächste bisher noch nicht von dieser Funktion gelesene Feld zurückgegeben. Der Feldoffset startet bei `0`.

### Rückgabewerte

Gibt ein Objekt mit Feldinformationen zurück. Die Eigenschaften des Objekts sind:

- name - Spaltenname
- table - der Name der Tabelle, zu der die Spalte gehört, wobei dies der Aliasname ist falls, einer definiert wurde
- max_length - die maximale Länge der Spalte
- not_null - 1, wenn die Spalte nicht `null` sein kann
- primary_key - 1, wenn die Spalte ein Primärschlüssel ist
- unique_key - 1, wenn die Spalte ein eindeutiger Schlüssel ist
- multiple_key - 1, wenn die Spalte ein nicht eindeutiger Schlüssel ist
- numeric - 1, wenn die Spalte vom Typ 'numeric' ist
- blob - 1, wenn die Saplte vom Typ 'BLOB' ist
- type - der Typ der Spalte
- unsigned - 1, wenn die Spalte vorzeichenlos ist
- zerofill - 1, wenn die Spalte mit Nullen aufgefüllt wird (zero-filled)

### Beispiele

Beispiel #1 mysql_fetch_field()-Beispiel

    <?php
    $conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
    if (!$conn) {
        die('Keine Verbindung möglich: ' . mysql_error());
    }
    mysql_select_db('database');
    $result = mysql_query('select * from table');
    if (!$result) {
        die('Anfrage fehlgeschlagen: ' . mysql_error());
    }
    /* Metadaten der Spalten holen */
    $i = 0;
    while ($i < mysql_num_fields($result)) {
        echo "Informationen für Spalte $i:<br />\n";
        $meta = mysql_fetch_field($result, $i);
        if (!$meta) {
            echo "Keine Informationen vorhanden<br />\n";
        }
        echo "<pre>
    blob:         $meta->blob
    max_length:   $meta->max_length
    multiple_key: $meta->multiple_key
    name:         $meta->name
    not_null:     $meta->not_null
    numeric:      $meta->numeric
    primary_key:  $meta->primary_key
    table:        $meta->table
    type:         $meta->type
    unique_key:   $meta->unique_key
    unsigned:     $meta->unsigned
    zerofill:     $meta->zerofill
    </pre>";
        $i++;
    }
    mysql_free_result($result);
    ?>

### Anmerkungen

> Hinweis: Bei den Spaltennamen, die von dieser Funktion zurückgegeben werden, wird zwischen Groß- und Kleinschreibung unterschieden.

> Hinweis: Falls Feld- oder Tabellennamen in der SQL-Abfrage mit einem Alias versehen wurden, so wird dieser zurückgegeben. Der ursprüngliche Name kann beispielsweise durch die Verwendung von mysqli_result::fetch_field() in Erfahrung gebracht werden.

### Siehe auch

- mysql_field_seek() - Setzt den Ergebniszeiger auf einen bestimmten Feldoffset

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open