Wie rufe ich Spaltennamen aus einer Tabelle mithilfe von PDO in PHP ab?

Patricia Arquette
Freigeben: 2024-11-04 07:00:02
Original
826 Leute haben es durchsucht

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

Spaltennamen mithilfe von PDO in PHP abrufen

Wie können Sie die Spaltennamen aus einer bestimmten Tabelle mithilfe von PHP-Datenobjekten (PDO) abrufen? Betrachten Sie die folgende Tabelle:

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

Unser Ziel ist es, die Spaltennamen zu erhalten:

| id | Name | Alter |

Ursprünglicher Codeversuch:

Der in der Frage bereitgestellte Code verwendet die Methoden columnsCount() und getColumnMeta(), um die Spaltenmetadaten zu zählen bzw. abzurufen. Dieser Ansatz ruft jedoch zusätzliche Informationen ab, die über die bloßen Spaltennamen hinausgehen.

Lösung mit MySQL-spezifischer Methode:

Bei MySQL-Datenbanken können Sie „DESCRIBE“ direkt abfragen. Informationen mithilfe des folgenden Codes:

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

Der obige Code gibt ein Array mit den Spaltennamen zurück:

id
name
age

Diese Lösung ist MySQL-spezifisch und funktioniert nicht für andere Datenbanktypen . Für eine generische Lösung, die alle PDO-kompatiblen Datenbanken unterstützt, sollten Sie die Verwendung der folgenden Funktion in Betracht ziehen:

<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rufe ich Spaltennamen aus einer Tabelle mithilfe von PDO in PHP ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage