Mendapatkan Nama Lajur menggunakan PDO dalam PHP
Bagaimanakah anda boleh mendapatkan semula nama lajur daripada jadual tertentu menggunakan Objek Data PHP (PDO)? Pertimbangkan jadual berikut:
id | name | age |
---|---|---|
1 | Alan | 35 |
2 | Alex | 52 |
3 | Amy | 15 |
Objektif kami adalah untuk mendapatkan nama lajur:
| id | nama | umur |
Percubaan Kod Asal:
Kod yang disediakan dalam soalan menggunakan kaedah columnCount() dan getColumnMeta() untuk mengira dan mendapatkan semula metadata lajur, masing-masing. Walau bagaimanapun, pendekatan ini mendapatkan maklumat tambahan selain daripada nama lajur sahaja.
Penyelesaian menggunakan Kaedah Khusus MySQL:
Untuk pangkalan data MySQL, anda boleh terus bertanya "DESCRIBE" maklumat menggunakan kod berikut:
<code class="php">$table_fields = $dbh->query("DESCRIBE tablename")->fetchAll(PDO::FETCH_COLUMN);</code>
Kod di atas akan mengembalikan tatasusunan yang mengandungi nama lajur:
id |
---|
name |
age |
Penyelesaian ini khusus MySQL dan tidak berfungsi untuk jenis pangkalan data lain . Untuk penyelesaian generik yang menyokong semua pangkalan data serasi PDO, pertimbangkan untuk menggunakan fungsi berikut:
<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>
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nama Lajur dari Jadual Menggunakan PDO dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!