English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La fonction mysqli_fetch_field_direct() récupère les métadonnées d'un champ unique
L'objet de résultat PHP (mysqli_result class) représente le résultat MySQL, retourné par les requêtes SELECT ou DESCRIBE ou EXPLAIN.
La fonction mysqli_fetch_field_direct() accepte un objet de résultat et un entier représentant le numéro du champ et renvoie l'objet spécifié de la colonne sous forme d'objet./Les informations de définition du champ.
mysqli_fetch_field_direct($result, $field);
Numéro | Paramètres et descriptions |
---|---|
1 | result(obligatoire) C'est l'identifiant de l'objet de résultat à représenter. |
2 | field(obligatoire) Un nombre entier, représentant le champ de métadonnées dont vous avez besoin/Les champs contenant les informations de définition. |
La fonction PHP mysqli_fetch_field_direct() renvoie un objet contenant les informations de définition du champ spécifié. Si le champ spécifié (numérique) n'est pas disponible, cette fonction renvoieFALSE.
L'objet renvoyé contient les propriétés suivantes :
name - Le nom de la colonne
orgname - Le nom original de la colonne (si un alias a été spécifié)
table - Le nom de la table
orgtable - Le nom original de la table (si un alias a été spécifié)
def - La valeur par défaut de ce champ
max_length - La largeur maximale du champ
length - La largeur du champ spécifiée dans la définition de la table
charsetnr - Le numéro du jeu de caractères du champ
flags - Bandeau de bits du champ
type - Type de données utilisé pour le champ
decimals - Champ entier, nombre de décimales après le point
Cette fonction a été introduite pour la première fois dans la version PHP5introduits dans cette version et utilisables dans toutes les versions supérieures.
Voici un exemple qui démontremysqli_fetch_field_direct()L'utilisation de la fonction (en style procédural), qui renvoie les métadonnées du troisième champ (colonne) d'un ensemble de résultats, et affiche le nom du champ, la table, la longueur maximale, le type de données et le numéro de charset du champ :
<?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("Create table.....\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("Insertion d'un enregistrement.....\n"); //Recherche du contenu de la table $res = mysqli_query($con, "SELECT * FROM myplayers"); //Obtenir le3métadonnées d'un champ $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"); //End statement mysqli_free_result($res); //Close connection mysqli_close($con); ?>
Output result
Create table..... Insertion d'un enregistrement..... Nom : Last_Name Table : myplayers Longueur maximale : 10 Drapeaux : 0 Type: 253
En style orienté objet, la syntaxe de cette fonction est :$result->fetch_field_direct();。Voici la fonction en style orienté objet, qui renvoie les métadonnées du deuxième champ (colonne) d'un ensemble de résultats, et affiche le nom du champ, la table, la longueur maximale, le type de données et le numéro de charset du champ :
<?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("Create table.....\n"); $stmt = $con -> prepare("SELECT * FROM Test WHERE Name in(?, ?)"); $stmt -> bind_param("ss", $name1, $name2); $name1 = 'Raju'; $name2 = 'Rahman'; //Execute statement $stmt->execute(); //Retrieve result $result = $stmt->get_result(); //Get metadata of the second 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"); //End statement $stmt->close(); //Close connection $con->close(); ?>
Output result
Create table..... Name: AGE Table: Test Max Length: 0 Flags: 32768 Type: 3 Definition: Character Set: 63