Fonction mysql_fetch_field() PHP

Définition et utilisation

La fonction mysql_fetch_field() récupère des informations sur les colonnes du jeu de résultats et les retourne sous forme d'objet.

mysql_fetch_field() peut être utilisé pour obtenir des informations sur les champs des résultats de la requête. Si aucune offset de champ n'est spécifié, le champ suivant qui n'a pas été obtenu par mysql_fetch_field() est extrait.

Cette fonction retourne un objet contenant des informations sur les champs.

Les attributs de l'objet retourné sont :

  • name - le nom de la colonne
  • table - le nom de la table où se trouve la colonne
  • max_length - la longueur 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,如果该列是 BLOB
  • blob - 1, si la colonne est BLOB
  • type - le type de la colonne
  • unsigned - 1, si la colonne est un nombre sans signe

zerofill - 1, si la colonne est zero-filled

Syntaxedatamysql_fetch_field(field_offset)
, Description
data Obligatoire. Pointeur de données à utiliser. Ce pointeur est retourné par mysql_query().
field_offset Obligatoire. Détermine à partir de quel champ commencer. 0 indique le premier champ. Si non spécifié, le champ suivant est récupéré.

Avis et commentaires

Remarque :Le nom de champ retourné par cette fonction est sensible à la casse.

Exemple

<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
  {
  die('Impossible de se connecter: ' . mysql_error());
  }
$db_selected = mysql_select_db("test_db",$con);
$sql = "SELECT * from Person";
$result = mysql_query($sql,$con);
while ($property = mysql_fetch_field($result))
  {
  echo "Nom de champ: " . $property->name . "<br />";
  echo "Nom de table: " . $property->table . "<br />";
  echo "Valeur par défaut: " . $property->def . "<br />";
  echo "Longueur maximale: " . $property->max_length . "<br />";
  echo "Non NULL: " . $property->not_null . "<br />"; 
  echo "Clé primaire: " . $property->primary_key . "<br />";
  echo "Clé unique: " . $property->unique_key . "<br />"; 
  echo "Clé multiple: " . $property->multiple_key . "<br />";
  echo "Champ numérique: " . $property->numeric . "<br />";
  echo "BLOB: " . $property->blob . "<br />";
  echo "Type de champ: " . $property->type . "<br />";
  echo "Unsigned: " . $property->unsigned . "<br />";
  echo "Zero-filled: " . $property->zerofill . "<br /><br />"; 
  }
mysql_close($con);
?>

Sortie :

Nom du champ: LastName
Nom de la table: Person
Valeur par défaut: 
Longueur maximale: 8
Non NULL: 0
Clé primaire: 0
Clé unique: 0
Clé multiple: 0
Champ numérique: 0
BLOB: 0
Type de champ: string
Unsigned: 0
Zero-filled: 0
Nom du champ: FirstName
Nom de la table: Person
Valeur par défaut: 
Longueur maximale: 7
Non NULL: 0
Clé primaire: 0
Clé unique: 0
Clé multiple: 0
Champ numérique: 0
BLOB: 0
Type de champ: string
Unsigned: 0
Zero-filled: 0
Nom du champ: City
Nom de la table: Person
Valeur par défaut: 
Longueur maximale: 9
Non NULL: 0
Clé primaire: 0
Clé unique: 0
Clé multiple: 0
Champ numérique: 0
BLOB: 0
Type de champ: string
Unsigned: 0
Zero-filled: 0
Nom du champ: Age
Nom de la table: Person
Valeur par défaut: 
Longueur maximale: 2
Non NULL: 0
Clé primaire: 0
Clé unique: 0
Clé multiple: 0
Champ numérique: 1
BLOB: 0
Type de champ: int
Unsigned: 0
Zero-filled: 0