English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PHP MySQLi Manuale di riferimento
La funzione mysqli_fetch_field_direct() ottiene i metadati di un singolo campo
Oggetto di risultato PHP (classe mysqli_result) rappresenta il risultato MySQL, restituito da SELECT o DESCRIBE o EXPLAIN query.
La funzione mysqli_fetch_field_direct() accetta un oggetto di risultato e un intero che rappresenta il numero di campo e restituisce le informazioni di definizione del campo specificato sotto forma di oggetto.
mysqli_fetch_field_direct($result, $field);
Numero di sequenza | Parametri e descrizione |
---|---|
1 | result(Obbligatorio) Questo è l'identificatore dell'oggetto del risultato. |
2 | field(Obbligatorio) Un valore intero che rappresenta il campo per il quale si desidera ottenere i metadati/informazioni di definizione. |
La funzione PHP mysqli_fetch_field_direct() restituisce un oggetto che contiene le informazioni di definizione del campo specificato. Se il campo specificato (numerico) non è disponibile, questa funzione restituisceFALSE.
L'oggetto restituito contiene le seguenti proprietà:
name - nome della colonna
orgname - nome della colonna originale (se è stato specificato un alias)
table - nome della tabella
orgtable - nome della tabella originale (se è stato specificato un alias)
def - valore predefinito del campo
max_length - larghezza massima del campo
length - larghezza del campo specificata nella definizione della tabella
charsetnr - numero di set di caratteri del campo
flags - segni di bit del campo
type - tipo di dati utilizzato per il campo
decimals - campo intero, numero di cifre dopo il punto decimale
Questa funzione è stata introdotta originariamente nella versione PHP 5 e può essere utilizzata in tutte le versioni successive.
Esempi seguenti dimostranomysqli_fetch_field_direct()L'uso della funzione (stile orientato ai processi), restituisce i metadati del terzo campo (colonna) del risultato e outputta il nome del campo, la tabella e la lunghezza massima, il tipo di dati e il numero di set di caratteri del campo:
<?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("Creare la tabella.....\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("Insert record.....\n"); //Retrieve the content of the table $res = mysqli_query($con, "SELECT * FROM myplayers"); //Get metadata of the third field $info = mysqli_fetch_field_direct($res, 2); print("Nome: ".$info->name."\n"); print("Tabella: ".$info->table."\n"); print("Lunghezza massima: ".$info->max_length."\n"); print("Flag: ".$info->flags."\n"); print("Tipo: ".$info->type."\n"); print("Definizione: ".$info->def."\n"); print("Set di caratteri: ".$info->charsetnr."\n"); //Fine della frase mysqli_free_result($res); //Chiudere la connessione mysqli_close($con); ?>
Risultato dell'output
Creare la tabella..... Insert record..... Name: Last_Name Table: myplayers Max Length: 10 Flags: 0 Type: 253
The syntax of this function in the object-oriented style is$result->fetch_field_direct();。The following is the metadata of the second field (column) in the result set returned by this function in the object-oriented style, and outputs the field name, table, maximum length, data type, and character set number of the field:
<?php //Establish 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("Creare la tabella.....\n"); $stmt = $con->prepare("SELECT * FROM Test WHERE Name in(?, ?)"); $stmt->bind_param("ss", $name1, $name2); $name1 = 'Raju'; $name2 = 'Rahman'; //Eseguire la frase $stmt->execute(); //Ricerca dei risultati $result = $stmt->get_result(); //Ottenere i metadati del secondo campo $info = $result->fetch_field_direct(1); print("Nome: ".$info->name."\n"); print("Tabella: ".$info->table."\n"); print("Lunghezza massima: ".$info->max_length."\n"); print("Flag: ".$info->flags."\n"); print("Tipo: ".$info->type."\n"); print("Definizione: ".$info->def."\n"); print("Set di caratteri: ".$info->charsetnr."\n"); //Fine della frase $stmt->close(); //Chiudere la connessione $con->close(); ?>
Risultato dell'output
Creare la tabella..... Nome: AGE Tabella: Test Lunghezza massima: 0 Flag: 32768 Tipo: 3 Definizione: Set di caratteri: 63