mysqli_result :: field_seek est une méthode de la classe mysqli_result en php, qui est utilisée pour localiser le pointeur de champ vers la position d'index de colonne spécifiée. Cette fonction est principalement utilisée lorsque vous devez traverser ou accéder à des métadonnées de champ (telles que les noms de champ, les types, etc.), et est souvent utilisé en conjonction avec des fonctions telles que MySQLI_Fetch_field () ou MySQLI_Fetch_field_Direct () .
bool mysqli_result::field_seek(int $index)
$ index : il s'agit du seul paramètre, le type est un entier, indiquant l'index du champ que vous souhaitez cibler. L'index commence à 0 .
Renvoie le vrai sur le succès et le faux sur l'échec.
L' indice de paramètre $ est l'indice de champ, qui fait référence au nombre séquentiel de champs dans l'ensemble de résultats. Par exemple, si vous exécutez SQL comme ceci:
SELECT id, name, email FROM users
mais:
$ index = 0 ID de champ correspondant
$ index = 1 nom de champ correspondant
$ index = 2 e-mail de champ correspondant
La méthode Field_seek ($ index) ne renvoie pas les informations de champ, mais déplace le pointeur de champ interne vers la position spécifiée. Après cela, vous pouvez obtenir les informations du champ via mysqli_fetch_field () .
Voici un exemple d'utilisation complet montrant comment utiliser field_seek () pour obtenir des méta-informations pour un champ spécifique:
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
if ($mysqli->connect_error) {
die("Échec de la connexion: " . $mysqli->connect_error);
}
$query = "SELECT id, username, email FROM users";
$result = $mysqli->query($query);
if ($result) {
// Supposons que nous voulons obtenir l'index comme 1 Champs de(Tout de suite username)Information
$result->field_seek(1);
$field_info = $result->fetch_field();
echo "Nom de champ: " . $field_info->name . "<br>";
echo "Type de terrain: " . $field_info->type . "<br>";
echo "Longueur maximale: " . $field_info->max_length . "<br>";
} else {
echo "La requête a échoué: " . $mysqli->error;
}
$mysqli->close();
?>
La sortie peut être:
Nom de champ: username
Type de terrain: 253
Longueur maximale: 30
illustrer:
Le type de champ est une constante entière correspondant à la constante mysqli_type_ * .
Max_Length est la longueur maximale de la valeur de ce champ dans le jeu de résultats.
Générer dynamiquement des en-têtes de table : lorsque vous devez générer dynamiquement des en-têtes de table HTML en fonction des champs de base de données, Field_seek () peut être utilisé pour localiser les méta-informations du champ en séquence.
Jugement de l'autorisation sur le terrain : Déterminez si l'utilisateur a le pouvoir d'afficher ou de modifier certains champs en fonction du nom et du type du champ.
Bâtiment ORM ou Framework sous-jacent : Lors de la mise en œuvre d'un système ORM personnalisé, des informations sur le champ d'accès à bas niveau et de cache sont requises. Cette fonction est très utile.
field_seek () modifie simplement la position du pointeur de champ et ne renverra pas d'informations sur le champ. Vous devez l'utiliser conjointement avec fetch_field () .
L'indexation dépasse le nombre total de champs fera le retour de la fonction .
Applicable aux ensembles de résultats après la requête de sélection , pas pour les opérations d'insertion , de mise à jour ou de supprimer .