PHP ialah bahasa pengaturcaraan sebelah pelayan yang biasa digunakan yang sering digunakan dalam pembangunan web. Untuk tugas berinteraksi dengan pangkalan data, sambungan MySQLi PHP menyediakan fungsi berkuasa yang boleh membuat pertanyaan, menambah, mengubah suai dan memadam data pangkalan data dengan mudah. Artikel ini akan memperkenalkan cara untuk menanyakan maklumat dua jadual melalui PHP.
Dalam pangkalan data MySQL, kadangkala anda perlu mendapatkan semula data daripada dua atau lebih jadual. Contohnya, dalam sistem pengurusan pesanan yang ringkas, anda mungkin perlu mendapatkan maklumat daripada jadual pesanan dan jadual pelanggan untuk memaparkan butiran pesanan dan pelanggan. Pada ketika ini, anda perlu menyertai dua jadual untuk pertanyaan.
Andaikan kita mempunyai dua jadual, satu yang menyimpan maklumat pelanggan dan satu yang menyimpan maklumat pesanan. Jadual pelanggan termasuk ID pelanggan, nama pelanggan, alamat, bandar dan medan kod pos. Jadual pesanan termasuk ID pesanan, ID pelanggan, tarikh pesanan dan jumlah medan. Matlamat kami adalah untuk mendapatkan semula pesanan dan maklumat pelanggan daripada kedua-dua jadual ini.
Kita boleh menggunakan kata kunci INNER JOIN untuk menyertai kedua-dua jadual supaya kedua-dua jadual boleh diambil pada masa yang sama apabila mendapatkan semula data jadual. Kata kunci INNER JOIN mengembalikan baris yang sepadan dengan nilai yang sama dalam dua jadual, yang boleh dicapai melalui kod berikut:
SELECT customers.customer_id, customers.customer_name, orders.order_id, orders.order_date FROM customers INNER JOIN orders ON customers.customer_id = orders.customer_id;
Pernyataan pertanyaan ini akan mengembalikan semua baris dengan ID pelanggan yang sama dalam jadual pelanggan dan jadual pesanan, set hasil Mengandungi empat medan: ID pelanggan, nama pelanggan, ID pesanan dan tarikh pesanan.
Kata kunci LEFT JOIN akan mengembalikan semua baris dalam jadual kiri (iaitu jadual pertama), serta baris di sebelah kanan Padanan baris dalam jadual (iaitu, jadual kedua) akan diisi dengan NULL jika tiada padanan. Sebagai contoh, jika kami juga ingin memaparkan pelanggan yang belum membuat pesanan, kami boleh mencapainya melalui kod berikut:
SELECT customers.customer_id, customers.customer_name, orders.order_id, orders.order_date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id;
Pernyataan pertanyaan ini akan mengembalikan semua baris dalam jadual pelanggan, serta baris dengan ID pelanggan yang sama dalam jadual pesanan. Jika pelanggan belum membuat pesanan, hasil pertanyaan akan memaparkan nilai NULL.
Kata kunci RIGHT JOIN adalah bertentangan dengan LEFT JOIN Ia akan mengembalikan semua baris dalam jadual kanan, serta baris dalam jadual kiri Memadankan baris. Sebagai contoh, jika kami ingin memaparkan semua pelanggan yang telah membuat pesanan, kami boleh mencapai ini melalui kod berikut:
SELECT customers.customer_id, customers.customer_name, orders.order_id, orders.order_date FROM customers RIGHT JOIN orders ON customers.customer_id = orders.customer_id;
Pernyataan pertanyaan ini akan mengembalikan semua baris dalam jadual pesanan, serta baris dengan ID pelanggan yang sama dalam jadual pelanggan . Jika pelanggan belum membuat pesanan, hasil pertanyaan akan memaparkan nilai NULL.
Ringkasan
Menyoal maklumat dua jadual melalui PHP, anda boleh menggunakan kata kunci INNER JOIN, LEFT JOIN dan RIGHT JOIN untuk menyertai dua jadual. Dengan menyertai dua jadual, kami boleh mendapatkan semula data daripada berbilang jadual dengan mudah dan menggabungkannya ke dalam set hasil tunggal. Apabila menulis pernyataan pertanyaan, perhatian khusus harus diberikan kepada keadaan perkaitan antara jadual untuk memastikan keputusan pertanyaan adalah betul.
Atas ialah kandungan terperinci Bagaimana untuk menanyakan maklumat daripada dua jadual melalui PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!