English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel PHP de base

Tutoriel PHP avancé

PHP & MySQL

Manuel de référence PHP

Utilisation et exemple de la fonction PHP mysqli_fetch_field_direct()

   PHP MySQLi Reference Manual

La fonction mysqli_fetch_field_direct() récupère les métadonnées d'un champ unique

Définition et utilisation

L'objet de résultat PHP (mysqli_result class) représente le résultat MySQL, retourné par les requêtes SELECT ou DESCRIBE ou EXPLAIN.
La fonction mysqli_fetch_field_direct() accepte un objet de résultat et un entier représentant le numéro du champ et renvoie l'objet spécifié de la colonne sous forme d'objet./Les informations de définition du champ.

Syntaxe

mysqli_fetch_field_direct($result, $field);

Paramètre

NuméroParamètres et descriptions
1

result(obligatoire)

C'est l'identifiant de l'objet de résultat à représenter.

2

field(obligatoire)

Un nombre entier, représentant le champ de métadonnées dont vous avez besoin/Les champs contenant les informations de définition.

La valeur renvoyée

La fonction PHP mysqli_fetch_field_direct() renvoie un objet contenant les informations de définition du champ spécifié. Si le champ spécifié (numérique) n'est pas disponible, cette fonction renvoieFALSE.

L'objet renvoyé contient les propriétés suivantes :

  • 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

  • orgtable - Le nom original de la table (si un alias a été spécifié)

  • def - La valeur par défaut de ce champ

  • max_length - La largeur maximale du champ

  • length - La largeur du champ spécifiée dans la définition de la table

  • charsetnr - Le numéro du jeu de caractères du champ

  • flags - Bandeau de bits du champ

  • type - Type de données utilisé pour le champ

  • decimals - Champ entier, nombre de décimales après le point

Version PHP

Cette fonction a été introduite pour la première fois dans la version PHP5introduits dans cette version et utilisables dans toutes les versions supérieures.

Exemple en ligne

Voici un exemple qui démontremysqli_fetch_field_direct()L'utilisation de la fonction (en style procédural), qui renvoie les métadonnées du troisième champ (colonne) d'un ensemble de résultats, et affiche le nom du champ, la table, la longueur maximale, le type de données et le numéro de charset du champ :

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("Create table.....\n");
   mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')");
   mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')");
   mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')");
   print("Insertion d'un enregistrement.....\n");
   //Recherche du contenu de la table
   $res = mysqli_query($con, "SELECT * FROM myplayers");
   //Obtenir le3métadonnées d'un champ
   $info = mysqli_fetch_field_direct($res, 2);
   print("Name: ",$info->name."\n");
   print("Table: ",$info->table."\n");
   print("Max Length: ",$info->max_length."\n");
   print("Flags: ",$info->flags."\n");
   print("Type: ",$info->type."\n");
   print("Definition: ",$info->def."\n");
   print("Character Set: ",$info->charsetnr."\n");
   //End statement
   mysqli_free_result($res);
   //Close connection
   mysqli_close($con);
?>

Output result

Create table.....
Insertion d'un enregistrement.....
Nom : Last_Name
Table : myplayers
Longueur maximale : 10
Drapeaux : 0
Type: 253

Exemple en ligne

En style orienté objet, la syntaxe de cette fonction est :$result->fetch_field_direct();。Voici la fonction en style orienté objet, qui renvoie les métadonnées du deuxième champ (colonne) d'un ensemble de résultats, et affiche le nom du champ, la table, la longueur maximale, le type de données et le numéro de charset du champ :

<?php
   //Establish connection
   $con = new mysqli("localhost", "root", "password", "mydb");
   $con -> query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
   $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27);
   print("Create table.....\n");
   $stmt = $con -> prepare("SELECT * FROM Test WHERE Name in(?, ?)");
   $stmt -> bind_param("ss", $name1, $name2);
   $name1 = 'Raju';
   $name2 = 'Rahman';
   //Execute statement
   $stmt->execute();
   //Retrieve result
   $result = $stmt->get_result();
   //Get metadata of the second field
   $info = $result->fetch_field_direct(1);
   print("Name: ",$info->name."\n");
   print("Table: ",$info->table."\n");
   print("Max Length: ",$info->max_length."\n");
   print("Flags: ",$info->flags."\n");
   print("Type: ",$info->type."\n");
   print("Definition: ",$info->def."\n");
   print("Character Set: ",$info->charsetnr."\n");
   //End statement
   $stmt->close();
   //Close connection
   $con->close();
?>

Output result

Create table.....
Name: AGE
Table: Test
Max Length: 0
Flags: 32768
Type: 3
Definition:
Character Set: 63

PHP MySQLi Reference Manual