Fonction PHP mysqli_fetch_field_direct ()

Définition et utilisation

Un objet résultat PHP (de la classe mysqli_result) 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 résultat et un entier représentant un numéro de champ comme paramètres et renvoie les informations de définition de la colonne / champ spécifié sous la forme d'un objet.

Syntaxe

mysqli_fetch_field_direct($result, $field);

Paramètres

Sr. Non Paramètre et description
1

result(Mandatory)

Il s'agit d'un identifiant représentant un objet de résultat.

2

field(Mandatory)

Une valeur entière représentant le champ pour lequel vous avez besoin des métadonnées / informations de définition.

Valeurs de retour

La fonction PHP mysqli_fetch_field_direct () renvoie un objet contenant les informations de définition du champ spécifié. Cette fonction renvoie FALSE au cas où le champ spécifié (nombre) n'est pas disponible.

L'objet renvoyé contient les propriétés suivantes $ minus;

  • name

  • orgname

  • table

  • orgtable

  • max_length

  • length

  • charsetnr

  • flags

  • type

  • decimals

Version PHP

Cette fonction a été introduite pour la première fois dans la version 5 de PHP et fonctionne dans toutes les versions ultérieures.

Exemple

L'exemple suivant montre l'utilisation de la fonction mysqli_fetch_field_direct () (dans le style procédural) -

<?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("Table Created.....\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("Record Inserted.....\n");

   //Retrieving the contents of the table
   $res = mysqli_query($con, "SELECT * FROM myplayers");

   //Fetching the metadata of 3rd field
   $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");

   //Closing the statement
   mysqli_free_result($res);

   //Closing the connection
   mysqli_close($con);
?>

Cela produira le résultat suivant -

Table Created.....
Record Inserted.....
Name: Last_Name
Table: myplayers
Max Length: 10
Flags: 0
Type: 253

Exemple

Dans le style orienté objet, la syntaxe de cette fonction est $ result-> fetch_field_direct (); Voici l'exemple de cette fonction dans le style orienté objet $ minus;

<?php
   //Creating a 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("Table Created.....\n");

   $stmt = $con -> prepare( "SELECT * FROM Test WHERE Name in(?, ?)");
   $stmt -> bind_param("ss", $name1, $name2);
   $name1 = 'Raju';
   $name2 = 'Rahman';

   //Executing the statement
   $stmt->execute();

   //Retrieving the result
   $result = $stmt->get_result();

   //Fetching the metadata of 2nd 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");

   //Closing the statement
   $stmt->close();

   //Closing the connection
   $con->close();
?>

Cela produira le résultat suivant -

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