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