Funzione PHP mysqli_fetch_field_direct ()
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_direct () accetta un oggetto risultato e un numero intero che rappresenta un numero di campo come parametri e restituisce le informazioni di definizione della colonna / campo specificato sotto forma di oggetto.
Sintassi
mysqli_fetch_field_direct($result, $field);
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | result(Mandatory) Questo è un identificatore che rappresenta un oggetto risultato. |
2 | field(Mandatory) Un valore intero che rappresenta il campo per il quale sono necessari i metadati / le informazioni sulla definizione. |
Valori restituiti
La funzione mysqli_fetch_field_direct () di PHP restituisce un oggetto contenente le informazioni di definizione del campo specificato. Questa funzione restituisce FALSE nel caso in cui il campo (numero) specificato non sia disponibile.
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_direct () (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 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);
?>
Questo produrrà il seguente risultato:
Table Created.....
Record Inserted.....
Name: Last_Name
Table: myplayers
Max Length: 10
Flags: 0
Type: 253
Esempio
Nello stile orientato agli oggetti la sintassi di questa funzione è $ risultato-> fetch_field_direct (); 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 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();
?>
Questo produrrà il seguente risultato:
Table Created.....
Name: AGE
Table: Test
Max Length: 0
Flags: 32768
Type: 3
Definition:
Character Set: 63