Comment récupérer les noms de colonnes d'une table à l'aide de PDO en PHP ?

Patricia Arquette
Libérer: 2024-11-04 07:00:02
original
813 Les gens l'ont consulté

How to Retrieve Column Names from a Table Using PDO in PHP?

Obtenir des noms de colonnes à l'aide de PDO en PHP

Comment récupérer les noms de colonnes d'une table spécifiée à l'aide d'objets de données PHP (PDO) ? Considérez le tableau suivant :

id name age
1 Alan 35
2 Alex 52
3 Amy 15

Notre objectif est d'obtenir les noms des colonnes :

| identifiant | nom | age |

Tentative de code original :

Le code fourni dans la question utilise les méthodes columnCount() et getColumnMeta() pour compter et récupérer les métadonnées de la colonne, respectivement. Cependant, cette approche récupère des informations supplémentaires au-delà des noms de colonnes.

Solution utilisant la méthode spécifique à MySQL :

Pour les bases de données MySQL, vous pouvez directement interroger "DESCRIBE". informations en utilisant le code suivant :

<code class="php">$table_fields = $dbh->query("DESCRIBE tablename")->fetchAll(PDO::FETCH_COLUMN);</code>
Copier après la connexion

Le code ci-dessus renverra un tableau contenant les noms de colonnes :

id
name
age

Cette solution est spécifique à MySQL et ne fonctionne pas pour les autres types de bases de données . Pour une solution générique prenant en charge toutes les bases de données compatibles PDO, pensez à utiliser la fonction suivante :

<code class="php">function get_column_names($table, $pdo) {
    try {
        $stmt = $pdo->prepare("SELECT * FROM $table LIMIT 0");
        $stmt->execute();
        $column_names = array_map(function ($meta) { return $meta['name']; }, $stmt->getColumnMeta());
        return $column_names;
    } catch (Exception $e) {
        return false;
    }
}</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal