Función PHP mysqli_fetch_fields ()
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_fields () acepta un objeto de resultado como parámetro y devuelve una matriz de objetos, cada uno de los cuales representa un campo en el resultado.
Sintaxis
mysqli_fetch_fields($result);
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | result(Mandatory) Este es un identificador que representa un objeto de resultado. |
Valores devueltos
La función PHP mysqli_fetch_fields () devuelve una matriz de objeto donde cada objeto contiene información de definición de un campo en el resultado dado. Esta función devuelve FALSE en caso de que no haya información.
Los objetos de la matriz devuelta contienen 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_fields () (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 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);
?>
Esto producirá el siguiente resultado:
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
Ejemplo
En el estilo orientado a objetos, la sintaxis de esta función es $ resultado-> fetch_fields (); 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 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();
?>