Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mendapatkan Nama Lajur dari Jadual Menggunakan PDO dalam PHP?

Bagaimana untuk Mendapatkan Nama Lajur dari Jadual Menggunakan PDO dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-11-04 07:00:02737semak imbas

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

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn