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>
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>
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!