Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk bertanya sama ada medan dalam mysql wujud dalam php
Kaedah untuk PHP membuat pertanyaan sama ada medan dalam mysql wujud ialah: 1. Gunakan penyata SQL untuk menanyakan seni bina maklumat, laksanakan arahan "SHOW COLUMNS FROM" untuk mendapatkan maklumat tentang semua lajur dalam jadual yang ditentukan, dan kemudian melintasi keputusan dalam set hasil Nama lajur menyemak sama ada medan yang ditentukan muncul 2. Gunakan pernyataan pertanyaan SELECT untuk mengesahkan dan cuba mengakses medan untuk menyemak sama ada ia wujud, tetapi ia tidak sesuai untuk situasi di mana hak akses; tidak mencukupi.
Sistem pengendalian untuk tutorial ini: Sistem Windows 10, versi php8.1.3, komputer Dell G3.
Dalam php, anda boleh menggunakan dua kaedah berikut untuk menentukan sama ada medan wujud dalam jadual pangkalan data MySQL.
Kaedah 1: Gunakan penyata SQL untuk menanyakan seni bina maklumat
Anda boleh mendapatkan maklumat tentang semua lajur dalam jadual yang ditentukan dengan melaksanakan perintah "SHOW COLUMNS FROM", dan kemudian lelaran melalui hasil Nama lajur berpusat semak sama ada medan yang ditentukan muncul. Contohnya:
function checkColumnExist($column_name, $table_name, $mysqli_link) { $query = "SHOW COLUMNS FROM ".$table_name; $result = mysqli_query($mysqli_link, $query); if ($result !== false) { while ($row = mysqli_fetch_assoc($result)) { if (strtolower($row['Field']) === strtolower($column_name)) { return true; } } } return false; }
Fungsi ini akan mengembalikan nilai Boolean yang menunjukkan sama ada nama lajur yang ditentukan wujud dalam jadual yang ditentukan.
Kaedah 2: Gunakan pernyataan pertanyaan SELECT untuk mengesahkan
Anda juga boleh memulakan permintaan pertanyaan SELECT dan cuba mengakses medan untuk menyemak sama ada ia wujud. Ambil perhatian bahawa pendekatan ini mungkin memerlukan lebih banyak sumber dan mungkin tidak berfungsi dalam semua situasi (mis. di mana hak akses tidak mencukupi). Contohnya:
function checkColumnExist($column_name, $table_name, $mysqli_link) { $query = "SELECT `$column_name` FROM `$table_name` LIMIT 1"; $result = mysqli_query($mysqli_link, $query); return $result !== false; }
Fungsi ini juga akan mengembalikan nilai Boolean yang menunjukkan sama ada nama lajur yang ditentukan wujud dalam jadual yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk bertanya sama ada medan dalam mysql wujud dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!