# mysql_fetch_field

(PHP 4, PHP 5)

mysql_fetch_field — Retourne les données enregistrées dans une colonne MySQL sous forme d'objet

Avertissement

Cette extension était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0. À la place, vous pouvez utiliser l'extension MySQLi ou l'extension PDO_MySQL. Voir aussi MySQL : choisir une API du guide. Alternatives à cette fonction :

- mysqli_fetch_field()
- PDOStatement::getColumnMeta()

### Description

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

Retourne un objet contenant les informations sur les champs. Cette fonction peut être utilisée pour obtenir des informations sur les champs de la requête fournie `result`.

### Liste de paramètres

`result`

  La resource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

`field_offset`

  La position numérique du champ. Si la position du champ n'est pas spécifiée, le champ suivant qui n'a pas encore été récupéré par cette fonction est alors récupéré. `field_offset` commence à `0`.

### Valeurs de retour

Retourne un objet contenant les informations sur les champs. Les propriétés de l'objet sont les suivantes :

- `"name"` : nom de la colonne
- `"table"` : nom de la table pour la colonne, qui pourra être l'alias si un alias a été défini.
- `"max_length"` : taille maximale de la colonne
- `"not_null"` : 1 si la colonne ne peut pas être `null`
- `"primary_key"` : 1 si la colonne est une clé primaire
- `"unique_key"` : 1 si la colonne est une clé unique
- `"multiple_key"` : 1 si la colonne est une clé non unique
- `"numeric"` : 1 si la colonne est numérique
- `"blob"` : 1 si la colonne est BLOB
- `"type"` : le type de la colonne
- `"unsigned"` : 1 si la colonne est non signée
- `"zerofill"` : 1 si la colonne est complétée par des zéro

### Exemples

Exemple #1 Exemple avec mysql_fetch_field()

`<?php
$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$conn) {
die('Impossible de se connecter : ' . mysql_error());
}
mysql_select_db('database');
$result = mysql_query('select * from table');
if (!$result) {
die('Échec de la requête : ' . mysql_error());
}
/* Lecture des méta données de la colonne */
$i = 0;
while ($i < mysql_num_fields($result)) {
echo "Détails sur la colonne $i:<br />\n";
$meta = mysql_fetch_field($result, $i);
if (!$meta) {
echo "Aucun détail disponible<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);
?>`

### Notes

> Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

> Note:

> Si les champs ou les noms de table utilisent un alias dans la requête SQL, le nom utilisé dans l'alias sera retourné. Le nom original peut être récupéré en utilisant la méthode mysqli_result::fetch_field().

### Voir aussi

- mysql_field_seek() - Déplace le pointeur de résultat vers une position donnée