Maison >développement back-end >Problème PHP >Comment interroger le nom du champ en php

Comment interroger le nom du champ en php

PHPz
PHPzoriginal
2023-04-10 09:35:05893parcourir

Dans le processus de développement d'un site Web utilisant PHP, interroger les noms de différents champs de la base de données est une tâche très courante. Que ce soit pour l'affichage sur la page ou pour un traitement ultérieur des données, il est nécessaire d'obtenir les noms de champs dans la table de la base de données. Cet article explique comment utiliser PHP pour interroger les noms de champs dans une table de base de données.

  1. Utiliser la commande DESC
    DESC est une commande dans MySQL, qui peut renvoyer des informations relatives à la table, y compris la structure de la table, les champs, etc. Vous pouvez utiliser la commande DESC pour obtenir tous les noms de champs d'une table. L'implémentation spécifique est la suivante :
<?php
//连接数据库
$conn = mysqli_connect("localhost", "root", "123456", "test");
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

$sql = "DESC users";
$result = mysqli_query($conn, $sql);

//循环输出结果,即所有字段名
while($row = mysqli_fetch_assoc($result)) {
    echo $row[&#39;Field&#39;] . "<br />";
}

mysqli_close($conn);
?>

Dans le code ci-dessus, l'instruction DESC users est utilisée pour obtenir les informations structurelles de la table des utilisateurs, la mysqli_query( ) est utilisée pour exécuter des instructions SQL et la fonction mysqli_fetch_assoc() est utilisée pour récupérer une ligne de l'ensemble de résultats sous forme de tableau associatif. Puisqu'un tableau associatif est renvoyé, vous pouvez utiliser $row['Field'] pour obtenir le nom du champ, puis le générer.

  1. Utilisez la commande SHOW COLUMNS
    La commande SHOW COLUMNS peut également être utilisée pour interroger les noms de champs de la table et est plus simple et plus claire que la commande DESC. Le code d'implémentation spécifique est le suivant :
<?php
//连接数据库
$conn = mysqli_connect("localhost", "root", "123456", "test");
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

$sql = "SHOW COLUMNS FROM users";
$result = mysqli_query($conn, $sql);

//循环输出结果,即所有字段名
while($row = mysqli_fetch_assoc($result)) {
    echo $row[&#39;Field&#39;] . "<br />";
}

mysqli_close($conn);
?>

Dans le code ci-dessus, l'instruction SHOW COLUMNS FROM users est utilisée pour obtenir toutes les informations de champ de la table des utilisateurs, la fonction mysqli_query() est utilisée pour exécuter des instructions SQL et la fonction mysqli_fetch_assoc () est utilisée pour récupérer une ligne de l'ensemble de résultats sous forme de tableau d'association. De même, vous pouvez utiliser $row['Field'] pour obtenir le nom du champ, puis le générer.

  1. Utilisation de la base de données information_schema
    information_schema est une base de données système dans MySQL, qui contient de nombreuses informations détaillées sur les bases de données, les tables, les champs, etc. En interrogeant les tables de la base de données information_schema, vous pouvez obtenir des informations pertinentes sur toutes les tables, y compris les noms de champs. Le code d'implémentation spécifique est le suivant :
<?php
//连接数据库
$conn = mysqli_connect("localhost", "root", "123456", "test");
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

$sql = "SELECT COLUMN_NAME FROM information_schema.columns WHERE table_name = &#39;users&#39;";
$result = mysqli_query($conn, $sql);

//循环输出结果,即所有字段名
while($row = mysqli_fetch_assoc($result)) {
    echo $row[&#39;COLUMN_NAME&#39;] . "<br />";
}

mysqli_close($conn);
?>

Dans le code ci-dessus, l'instruction SELECT COLUMN_NAME FROM information_schema.columns WHERE table_name = 'users' est utilisée pour obtenir toutes les informations de champ de la table des utilisateurs, la fonction mysqli_query() est utilisée pour exécuter des instructions SQL et la fonction mysqli_fetch_assoc() Utilisée pour récupérer une ligne de l'ensemble de résultats sous forme de tableau associatif. Puisqu'un tableau associatif est renvoyé, vous pouvez utiliser $row['COLUMN_NAME'] pour obtenir le nom du champ, puis le générer.

Résumé :
Les trois méthodes ci-dessus peuvent être utilisées pour interroger les noms de champs dans la table MySQL. Parmi eux, l'utilisation de la base de données information_schema permet d'obtenir les informations de champ de toutes les tables, ce qui est plus flexible, mais consommera une certaine quantité de performances. L'utilisation des commandes DESC et SHOW COLUMNS est relativement plus simple et plus directe, avec des performances relativement meilleures. Dans le même temps, pendant le processus de mise en œuvre, il faut veiller à prévenir les problèmes de sécurité tels que l'injection SQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn