(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Récupère les métadonnées d'un champ unique
Style orienté objet
Style procédural
Retourne un objet qui contient les métadonnées d'un champ dans le jeu de résultats spécifié.
result
Style procédural uniquement : Un objet mysqli_result retourné par mysqli_query(), mysqli_store_result(), mysqli_use_result(), ou mysqli_stmt_get_result().
index
Le numéro du champ. Cette valeur doit être dans l'intervalle
0
à nombre de champs - 1
.
Retourne un objet qui contient les métadonnées d'un champ
ou false
si aucune métadonnée n'est spécifiée pour le champ
index
.
Propriété | Description |
---|---|
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 à laquelle ce champ appartient (s'il n'a pas été calculé) |
orgtable | Le nom original de la table si un alias a été spécifié |
def | Inutilisé. Toujours une chaîne vide |
db | Le nom de la base de données |
catalog | Inutilisé. Toujours "def" |
max_length | La longueur maximale du champ pour le jeu de résultats. À partir de PHP 8.1, cette valeur est toujours 0 . |
length |
La largeur du champ en octets. Pour les colonnes de type chaîne de caractères,
la valeur de longueur varie en fonction du jeu de caractères de la connexion.
Par exemple, si le jeu de caractères est latin1 , un jeu de caractères mono-octet,
la valeur de longueur pour une requête SELECT 'abc' est 3.
Si le jeu de caractères est utf8mb4 , un jeu de caractères multioctets
dans lequel les caractères occupent jusqu'à 4 octets, la valeur de longueur est 12.
|
charsetnr | Le numéro du jeu de caractères pour ce champs |
flags | Un entier représentant le bit-flags pour ce champs |
type | Le type de données utilisées pour ce champs |
decimals | Le nombre de décimales pour les champs numériques et la précision des secondes fractionnaires pour les champs temporels. |
Exemple #1 Style orienté objet
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";
if ($result = $mysqli->query($query)) {
/* Get field information for column 'SurfaceArea' */
$finfo = $result->fetch_field_direct(1);
printf("Nom : %s\n", $finfo->name);
printf("Table : %s\n", $finfo->table);
printf("Taille max : %d\n", $finfo->max_length);
printf("Flags : %d\n", $finfo->flags);
printf("Type : %d\n", $finfo->type);
$result->close();
}
/* Fermeture de la connexion */
$mysqli->close();
?>
Exemple #2 Style procédural
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";
if ($result = mysqli_query($link, $query)) {
/* Get field information for column 'SurfaceArea' */
$finfo = mysqli_fetch_field_direct($result, 1);
printf("Nom : %s\n", $finfo->name);
printf("Table : %s\n", $finfo->table);
printf("Taille max : %d\n", $finfo->max_length);
printf("Flags : %d\n", $finfo->flags);
printf("Type : %d\n", $finfo->type);
mysqli_free_result($result);
}
/* Fermeture de la connexion */
mysqli_close($link);
?>
Les exemples ci-dessus vont afficher :
Nom : SurfaceArea Table : Country Taille max : 10 Flags : 32769 Type : 4