Funzione PHP mysqli_fetch_field ()
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 () accetta un oggetto risultato come parametro e restituisce le informazioni di definizione della colonna / campo successivo sotto forma di oggetto.
Sintassi
mysqli_fetch_field($result);
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | result(Mandatory) Questo è un identificatore che rappresenta un oggetto risultato. |
Valori restituiti
La funzione mysqli_fetch_field () di PHP restituisce un oggetto contenente le informazioni di definizione di un campo nel risultato dato. Questa funzione restituisce FALSE in caso di nessuna informazione.
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 () (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 fields
while($info = mysqli_fetch_field($res)){
//Current field
$currentfield = mysqli_field_tell($res);
print("Current Field: ".$currentfield."\n");
print("Name: ".$info->name."\n");
print("Type: ".$info->type."\n");
}
//Closing the statement
mysqli_free_result($res);
//Closing the connection
mysqli_close($con);
?>
Questo produrrà il seguente risultato:
Table Created.....
Record Inserted.....
Current Field: 1
Name: ID
Type: 3
Current Field: 2
Name: First_Name
Type: 253
Current Field: 3
Name: Last_Name
Type: 253
Current Field: 4
Name: Place_Of_Birth
Type: 253
Current Field: 5
Name: Country
Type: 253
Esempio
Nello stile orientato agli oggetti la sintassi di questa funzione è $ risultato-> fetch_field; 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();
//Current Field
while($info = $result->fetch_field()){
$field = $result->current_field;
print("Current Field: ".$field."\n");
print("Field Name: ".$info->name."\n");
}
//Closing the statement
$stmt->close();
//Closing the connection
$con->close();
?>
Questo produrrà il seguente risultato: