# mysqli_result::fetch_field

# mysqli_fetch_field

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_field -- mysqli_fetch_field — Retourne le prochain champs dans le jeu de résultats

### Description

Style orienté objet

public mysqli_result::fetch_field(): object|false

Style procédural

mysqli_fetch_field(mysqli_result `$result`): object|false

Retourne les attributs de la prochaine colonne dans le jeu de résultats représenté par le paramètre `result` en tant qu'objet. Appelez cette fonction de façon répétitive pour récupérer les informations de toutes les colonnes.

### Liste de paramètres

`result`

  Style procédural uniquement : Un objet mysqli_result retourné par mysqli_query(), mysqli_store_result(), mysqli_use_result(), ou mysqli_stmt_get_result().

### Valeurs de retour

Retourne un objet qui contient les informations d'un champ ou `false` si aucune information n'est disponible pour ce champs.

Propriétés de l'objet
Propriété | Description
--- | ---
name | Le nom de la colonne
orgname | Le nom original de la colonne si un alias a été spécifié
table | Le nom de la table à laquelle ce champ appartient (s'il n'a pas été calculé)
orgtable | Le nom original de la table si un alias a été spécifié
def | Inutilisé. Toujours une chaîne vide
db | Le nom de la base de données
catalog | Inutilisé. Toujours `"def"`
max_length | La longueur maximale du champ pour le jeu de résultats. À partir de PHP 8.1, cette valeur est toujours `0`.
length | La largeur du champ en octets. Pour les colonnes de type chaîne de caractères, la valeur de longueur varie en fonction du jeu de caractères de la connexion. Par exemple, si le jeu de caractères est `latin1`, un jeu de caractères mono-octet, la valeur de longueur pour une requête `SELECT 'abc'` est 3. Si le jeu de caractères est `utf8mb4`, un jeu de caractères multioctets dans lequel les caractères occupent jusqu'à 4 octets, la valeur de longueur est 12.
charsetnr | Le numéro du jeu de caractères pour ce champs
flags | Un entier représentant le bit-flags pour ce champs
type | Le type de données utilisées pour ce champs
decimals | Le nombre de décimales pour les champs numériques et la précision des secondes fractionnaires pour les champs temporels.

### Exemples

Exemple #1 Style orienté objet

`<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";
if ($result = $mysqli->query($query)) {
/* Récupère les informations d'un champ pour toutes les colonnes */
while ($finfo = $result->fetch_field()) {
printf("Name: %s\n", $finfo->name);
printf("Table: %s\n", $finfo->table);
printf("max. Len: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Type: %d\n\n", $finfo->type);
}
$result->close();
}
/* Fermeture de la connexion */
$mysqli->close();
?>`

Exemple #2 Style procédural

`<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";
if ($result = mysqli_query($link, $query)) {
/* Récupère les informations d'un champ pour toutes les colonnes */
while ($finfo = mysqli_fetch_field($result)) {
printf("Name: %s\n", $finfo->name);
printf("Table: %s\n", $finfo->table);
printf("max. Len: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Type: %d\n\n", $finfo->type);
}
mysqli_free_result($result);
}
/* Fermeture de la connexion */
mysqli_close($link);
?>`

Les exemples ci-dessus vont afficher :

    Name:     Name
    Table:    Country
    max. Len: 11
    Flags:    1
    Type:     254

    Name:     SurfaceArea
    Table:    Country
    max. Len: 10
    Flags:    32769
    Type:     4

### Voir aussi

- mysqli_num_fields() - Récupère le nombre de champs dans l'ensemble de résultats
- mysqli_fetch_field_direct() - Récupère les métadonnées d'un champ unique
- mysqli_fetch_fields() - Retourne un tableau d'objets représentant les champs dans le résultat
- mysqli_field_seek() - Déplace le pointeur de résultat sur le champ spécifié