Función PHP mysqli_fetch_field_direct ()

Definición y uso

Un objeto de resultado PHP (de la clase mysqli_result) representa el resultado de MySQL, devuelto por las consultas SELECT o, DESCRIBE o EXPLAIN.

La función mysqli_fetch_field_direct () acepta un objeto de resultado y un entero que representa un número de campo como parámetros y devuelve la información de definición de la columna / campo especificado en forma de objeto.

Sintaxis

mysqli_fetch_field_direct($result, $field);

Parámetros

No Señor Descripción de parámetros
1

result(Mandatory)

Este es un identificador que representa un objeto de resultado.

2

field(Mandatory)

Un valor entero que representa el campo para el que necesita la información de metadatos / definición.

Valores devueltos

La función PHP mysqli_fetch_field_direct () devuelve un objeto que contiene la información de definición del campo especificado. Esta función devuelve FALSE en caso de que el campo especificado (número) no esté disponible.

El objeto devuelto contiene las siguientes propiedades $ minus;

  • name

  • orgname

  • table

  • orgtable

  • max_length

  • length

  • charsetnr

  • flags

  • type

  • decimals

Versión PHP

Esta función se introdujo por primera vez en PHP Versión 5 y funciona en todas las versiones posteriores.

Ejemplo

El siguiente ejemplo demuestra el uso de la función mysqli_fetch_field_direct () (en estilo procedimental):

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

Esto producirá el siguiente resultado:

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

Ejemplo

En el estilo orientado a objetos, la sintaxis de esta función es $ resultado-> fetch_field_direct (); A continuación se muestra el ejemplo de esta función en el estilo orientado a objetos $ 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();
?>

Esto producirá el siguiente resultado:

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