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

Patricia Arquette
Lepaskan: 2024-11-04 07:00:02
asal
826 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan