Funzione PHP mysqli_fetch_fields ()

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_fields () accetta un oggetto risultato come parametro e restituisce un array di oggetti, ciascuno dei quali rappresenta un campo nel risultato.

Sintassi

mysqli_fetch_fields($result);

Parametri

Suor n Parametro e descrizione
1

result(Mandatory)

Questo è un identificatore che rappresenta un oggetto risultato.

Valori restituiti

La funzione mysqli_fetch_fields () di PHP restituisce un array di oggetti in cui ogni oggetto contiene le informazioni di definizione di un campo nel risultato dato. Questa funzione restituisce FALSE in caso di nessuna informazione.

Gli oggetti della matrice restituita contengono 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 dimostra l'utilizzo della funzione mysqli_fetch_fields () (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 all the fields
   $info = mysqli_fetch_fields($res);
   foreach ($info as $ele) {
      print("ID: ".$ele->name."\n");
      print("First_Name: ".$ele->table."\n");
      print("Last_Name: ".$ele->max_length."\n");
      print("Place_Of_Birth: ".$ele->charsetnr."\n");
      print("Country: ".$ele->flags."\n");
      print("Country: ".$ele->type."\n");
      print("\n");
   }
   //Closing the statement
   mysqli_free_result($res);

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

Questo produrrà il seguente risultato:

Table Created.....
Record Inserted.....
ID: ID
First_Name: myplayers
Last_Name: 1
Place_Of_Birth: 63
Country: 32768
Country: 3

ID: First_Name
First_Name: myplayers
Last_Name: 8
Place_Of_Birth: 33
Country: 0
Country: 253

ID: Last_Name
First_Name: myplayers
Last_Name: 10
Place_Of_Birth: 33
Country: 0
Country: 253

ID: Place_Of_Birth
First_Name: myplayers
Last_Name: 8
Place_Of_Birth: 33
Country: 0
Country: 253

ID: Country
First_Name: myplayers
Last_Name: 11
Place_Of_Birth: 33
Country: 0
Country: 253

Esempio

Nello stile orientato agli oggetti la sintassi di questa funzione è $ risultato-> fetch_fields (); 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 all the rows as arrays
   $info = $result->fetch_fields();
   foreach ($info as $ele) {
      print("ID: ".$ele->name."\n");
      print("First_Name: ".$ele->table."\n");
      print("Last_Name: ".$ele->max_length."\n");
      print("Place_Of_Birth: ".$ele->charsetnr."\n");
      print("Country: ".$ele->flags."\n");
      print("Country: ".$ele->type."\n");
      print("\n");
   }
   //Closing the statement
   $stmt->close();

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