Função PHP mysqli_fetch_fields ()
Definição e Uso
Um objeto de resultado PHP (da classe mysqli_result) representa o resultado MySQL, retornado pelas consultas SELECT ou, DESCRIBE ou EXPLAIN.
A função mysqli_fetch_fields () aceita um objeto de resultado como parâmetro e retorna um array de objetos, cada um representando um campo no resultado.
Sintaxe
mysqli_fetch_fields($result);
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 | result(Mandatory) Este é um identificador que representa um objeto de resultado. |
Valores Retornados
A função PHP mysqli_fetch_fields () retorna um array de objetos onde cada objeto contém informações de definição de um campo no resultado dado. Esta função retorna FALSE no caso de nenhuma informação.
Os objetos do array retornado contêm as seguintes propriedades $ minus;
name
orgname
table
orgtable
max_length
length
charsetnr
flags
type
decimals
Versão PHP
Esta função foi introduzida pela primeira vez no PHP Versão 5 e funciona em todas as versões posteriores.
Exemplo
O exemplo a seguir demonstra o uso da função mysqli_fetch_fields () (no estilo procedural) -
<?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);
?>
Isso produzirá o seguinte 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
Exemplo
No estilo orientado a objetos, a sintaxe desta função é $ result-> fetch_fields (); A seguir está o exemplo desta função no 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();
?>