Funzione PHP mysqli_fetch_field_direct ()

Definizione e utilizzo

Un oggetto risultato PHP (della classe mysqli_result) rappresenta il risultato MySQL, restituito dalle query SELECT o, DESCRIBE o, EXPLAIN.

La funzione mysqli_fetch_field_direct () accetta un oggetto risultato e un numero intero che rappresenta un numero di campo come parametri e restituisce le informazioni di definizione della colonna / campo specificato sotto forma di oggetto.

Sintassi

mysqli_fetch_field_direct($result, $field);

Parametri

Suor n Parametro e descrizione
1

result(Mandatory)

Questo è un identificatore che rappresenta un oggetto risultato.

2

field(Mandatory)

Un valore intero che rappresenta il campo per il quale sono necessari i metadati / le informazioni sulla definizione.

Valori restituiti

La funzione mysqli_fetch_field_direct () di PHP restituisce un oggetto contenente le informazioni di definizione del campo specificato. Questa funzione restituisce FALSE nel caso in cui il campo (numero) specificato non sia disponibile.

L'oggetto restituito contiene le seguenti proprietà $ minus;

  • name

  • orgname

  • table

  • orgtable

  • max_length

  • length

  • charsetnr

  • flags

  • type

  • decimals

Versione PHP

Questa funzione è stata introdotta per la prima volta nella versione 5 di PHP e funziona in tutte le versioni successive.

Esempio

L'esempio seguente mostra l'utilizzo della funzione mysqli_fetch_field_direct () (in stile procedurale) -

<?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);
?>

Questo produrrà il seguente risultato:

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

Esempio

Nello stile orientato agli oggetti la sintassi di questa funzione è $ risultato-> fetch_field_direct (); Di seguito è riportato l'esempio di questa funzione nello stile orientato agli oggetti $ 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();
?>

Questo produrrà il seguente risultato:

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