Maison >développement back-end >tutoriel php >Comment récupérer les noms de colonnes de table à l'aide de PDO dans MySQL ?

Comment récupérer les noms de colonnes de table à l'aide de PDO dans MySQL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-03 12:36:02339parcourir

How to Retrieve Table Column Names Using PDO in MySQL?

Récupération des noms de colonnes de table avec PDO

Question :

Comment récupérer la colonne noms d'une table utilisant PDO ?

Contexte :

Considérons une table nommée "contacts" avec les colonnes suivantes :

  • id
  • nom
  • âge

Tentative :

Une tentative a été effectuée en utilisant le code suivant :

<code class="php">$db = $connection->get_connection();
$select = $db->query('SELECT * FROM contacts');

$total_column = $select->columnCount();
var_dump($total_column);

for ($counter = 0; $counter < $total_column; $counter ++) {
    $meta = $select->getColumnMeta($counter);
    $column[] = $meta['name'];
}
print_r($column);</code>

Cependant, cette tentative a produit un résultat inattendu, renvoyant tous les noms de colonnes, y compris les colonnes inexistantes.

Solution (spécifique à MySQL) :

Une La solution alternative pour les bases de données MySQL est la suivante :

<code class="php">$table_fields = $dbh->query("DESCRIBE tablename")->fetchAll(PDO::FETCH_COLUMN);</code>

Cette requête récupère les noms de colonnes de la table à l'aide de la commande "DESCRIBE". Le résultat est un tableau contenant les noms de colonnes dans l'ordre dans lequel ils apparaissent dans le schéma de la table.

Sortie :

Array
(
    [0] => id
    [1] => name
    [2] => age
    ...
)

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