Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menanyakan nama medan dalam php

Bagaimana untuk menanyakan nama medan dalam php

PHPz
PHPzasal
2023-04-10 09:35:05892semak imbas

Dalam proses membangunkan tapak web menggunakan PHP, menanyakan nama pelbagai medan dalam pangkalan data adalah tugas yang sangat biasa. Sama ada untuk paparan pada halaman atau untuk pemprosesan data seterusnya, adalah perlu untuk mendapatkan nama medan dalam jadual pangkalan data. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menanyakan nama medan dalam jadual pangkalan data.

  1. Gunakan arahan DESC
    DESC ialah arahan dalam MySQL, yang boleh mengembalikan maklumat berkaitan jadual, termasuk struktur jadual, medan, dsb. Anda boleh menggunakan arahan DESC untuk mendapatkan semua nama medan jadual Pelaksanaan khusus adalah seperti berikut:
<?php
//连接数据库
$conn = mysqli_connect("localhost", "root", "123456", "test");
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

$sql = "DESC users";
$result = mysqli_query($conn, $sql);

//循环输出结果,即所有字段名
while($row = mysqli_fetch_assoc($result)) {
    echo $row[&#39;Field&#39;] . "<br />";
}

mysqli_close($conn);
?>

Dalam kod di atas, pernyataan pengguna DESC digunakan untuk mendapatkan maklumat struktur. daripada jadual pengguna, dan fungsi mysqli_query() digunakan Untuk melaksanakan pernyataan SQL, fungsi mysqli_fetch_assoc() digunakan untuk mendapatkan semula baris daripada set hasil sebagai tatasusunan bersekutu. Memandangkan tatasusunan bersekutu dikembalikan, anda boleh menggunakan $row['Field'] untuk mendapatkan nama medan dan kemudian mengeluarkannya.

  1. Gunakan arahan SHOW COLUMNS
    Arahan SHOW COLUMNS juga boleh digunakan untuk menanyakan nama medan jadual, dan lebih ringkas dan jelas daripada arahan DESC. Kod pelaksanaan khusus adalah seperti berikut:
<?php
//连接数据库
$conn = mysqli_connect("localhost", "root", "123456", "test");
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

$sql = "SHOW COLUMNS FROM users";
$result = mysqli_query($conn, $sql);

//循环输出结果,即所有字段名
while($row = mysqli_fetch_assoc($result)) {
    echo $row[&#39;Field&#39;] . "<br />";
}

mysqli_close($conn);
?>

Dalam kod di atas, pernyataan SHOW COLUMNS FROM users digunakan untuk mendapatkan semua maklumat medan jadual pengguna, fungsi mysqli_query() digunakan untuk melaksanakan pernyataan SQL, dan fungsi mysqli_fetch_assoc() Digunakan untuk mendapatkan semula baris daripada set hasil sebagai tatasusunan bersekutu. Begitu juga, anda boleh menggunakan $row['Field'] untuk mendapatkan nama medan dan kemudian mengeluarkannya.

  1. Menggunakan pangkalan data information_schema
    information_schema ialah pangkalan data sistem dalam MySQL, yang mengandungi banyak maklumat terperinci tentang pangkalan data, jadual, medan, dsb. Dengan menanyakan jadual dalam pangkalan data information_schema, anda boleh mendapatkan maklumat yang berkaitan tentang semua jadual, termasuk nama medan. Kod pelaksanaan khusus adalah seperti berikut:
<?php
//连接数据库
$conn = mysqli_connect("localhost", "root", "123456", "test");
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

$sql = "SELECT COLUMN_NAME FROM information_schema.columns WHERE table_name = &#39;users&#39;";
$result = mysqli_query($conn, $sql);

//循环输出结果,即所有字段名
while($row = mysqli_fetch_assoc($result)) {
    echo $row[&#39;COLUMN_NAME&#39;] . "<br />";
}

mysqli_close($conn);
?>

Dalam kod di atas, SELECT COLUMN_NAME FROM information_schema.columns WHERE table_name = pernyataan 'pengguna' digunakan untuk mendapatkan semua maklumat medan jadual pengguna , dan fungsi mysqli_query() digunakan Untuk melaksanakan pernyataan SQL, fungsi mysqli_fetch_assoc() digunakan untuk mendapatkan semula baris daripada set hasil sebagai tatasusunan bersekutu. Memandangkan tatasusunan bersekutu dikembalikan, anda boleh menggunakan $row['COLUMN_NAME'] untuk mendapatkan nama medan dan kemudian mengeluarkannya.

Ringkasan:
Tiga kaedah di atas boleh digunakan untuk menanyakan nama medan dalam jadual MySQL. Antaranya, menggunakan pangkalan data information_schema boleh mendapatkan maklumat medan semua jadual, yang lebih fleksibel, tetapi akan menggunakan jumlah prestasi tertentu. Menggunakan arahan DESC dan SHOW COLUMNS adalah lebih ringkas dan lebih langsung, dengan prestasi yang lebih baik. Pada masa yang sama, semasa proses pelaksanaan, perhatian juga mesti diberikan untuk mencegah isu keselamatan seperti suntikan SQL.

Atas ialah kandungan terperinci Bagaimana untuk menanyakan nama medan 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