


Memperkenalkan cara untuk melengkapkan pertanyaan bersama jadual dua pangkalan data pelayan berbeza dalam PHP
Untuk pembangun yang menggunakan PHP, senario biasa ialah keperluan untuk bersama-sama menanyakan data daripada pangkalan data dua pelayan berbeza. Senario ini mungkin disebabkan oleh keperluan perniagaan atau kerana data diedarkan pada pelayan yang berbeza. Artikel ini akan memperkenalkan cara menyelesaikan operasi pertanyaan persekutuan data ini dalam PHP.
1. Tentukan data yang diperlukan untuk pertanyaan
Sebelum mula menulis kod, kita perlu menentukan data untuk ditanya. Katakan kita mempunyai dua perkhidmatan pangkalan data, bernama A dan B. Kami perlu bersama-sama menanyakan maklumat pelanggan daripada kedua-dua pangkalan data ini, termasuk ID pelanggan, nama, umur dan jantina. Kedua-dua pangkalan data A dan B mempunyai jadual pelanggan, iaitu customers_a
dan customers_b
masing-masing. Jadual ini termasuk maklumat asas tentang pelanggan.
Matlamat pertanyaan kami adalah untuk mendapatkan maklumat semua pelanggan dalam customers_a
dan customers_b
, jadi kami perlu melakukan operasi SERTAI pada dua jadual.
2. Sambungkan dua pangkalan data
Mudah untuk menyambungkan dua pangkalan data menggunakan PHP. Berikut ialah contoh kod untuk menyambung ke pangkalan data A:
<?php $host = 'localhost'; $username = 'db_user'; $password = 'db_password'; $dbname = 'database_a'; $db_a = new mysqli($host, $username, $password, $dbname); if ($db_a->connect_error) { die('Connect Error (' . $db_a->connect_errno . ') ' . $db_a->connect_error); }
Begitu juga, kita boleh menyambung ke pangkalan data B:
<?php $host = 'localhost'; $username = 'db_user'; $password = 'db_password'; $dbname = 'database_b'; $db_b = new mysqli($host, $username, $password, $dbname); if ($db_b->connect_error) { die('Connect Error (' . $db_b->connect_errno . ') ' . $db_b->connect_error); }
Sekarang kami telah berjaya menyambung ke dua pangkalan data yang berbeza.
3. Lakukan operasi pertanyaan bersama
Seterusnya, kami perlu melakukan operasi JOIN pada dua pangkalan data untuk mendapatkan data yang kami perlukan. Untuk memastikan kebolehbacaan dan kebolehselenggaraan kod, kami merangkum operasi pertanyaan ke dalam fungsi.
<?php function get_customers($db_a, $db_b) { $sql = "SELECT id, name, age, gender FROM customers_a UNION SELECT id, name, age, gender FROM customers_b"; $result = $db_a->query($sql); if (!$result) { die('Query Error: ' . $db_a->error); } $rows = array(); while ($row = $result->fetch_assoc()) { $rows[] = $row; } $result->free(); return $rows; }
Dalam fungsi ini, kami menggunakan operasi UNION untuk menggabungkan data dalam customers_a
dan customers_b
bersama-sama. Selepas melaksanakan pertanyaan, kami meletakkan rekod dalam set keputusan ke dalam tatasusunan dan mengembalikan tatasusunan.
4. Panggil fungsi pertanyaan
Sekarang kami telah menyelesaikan semua kerja pengekodan. Kita boleh memanggil fungsi get_customers
dalam kod untuk mendapatkan maklumat pelanggan yang ditanya secara bersama daripada dua pangkalan data A dan B.
<?php $rows = get_customers($db_a, $db_b); foreach ($rows as $row) { echo $row['id'] . ' ' . $row['name'] . ' ' . $row['age'] . ' ' . $row['gender'] . '<br>'; }
5. Contoh kod lengkap
Berikut ialah contoh kod lengkap:
<?php $host_a = 'localhost'; $username_a = 'db_user'; $password_a = 'db_password'; $dbname_a = 'database_a'; $host_b = 'localhost'; $username_b = 'db_user'; $password_b = 'db_password'; $dbname_b = 'database_b'; $db_a = new mysqli($host_a, $username_a, $password_a, $dbname_a); if ($db_a->connect_error) { die('Connect Error (' . $db_a->connect_errno . ') ' . $db_a->connect_error); } $db_b = new mysqli($host_b, $username_b, $password_b, $dbname_b); if ($db_b->connect_error) { die('Connect Error (' . $db_b->connect_errno . ') ' . $db_b->connect_error); } function get_customers($db_a, $db_b) { $sql = "SELECT id, name, age, gender FROM customers_a UNION SELECT id, name, age, gender FROM customers_b"; $result = $db_a->query($sql); if (!$result) { die('Query Error: ' . $db_a->error); } $rows = array(); while ($row = $result->fetch_assoc()) { $rows[] = $row; } $result->free(); return $rows; } $rows = get_customers($db_a, $db_b); foreach ($rows as $row) { echo $row['id'] . ' ' . $row['name'] . ' ' . $row['age'] . ' ' . $row['gender'] . '<br>'; } $db_a->close(); $db_b->close(); ?>
Ringkasan
Dalam PHP, sambungkan dua It ialah senario yang sangat biasa untuk menggunakan pangkalan data yang berbeza dan melaksanakan operasi pertanyaan bersama. Artikel ini memperkenalkan cara menyambungkan dua perkhidmatan pangkalan data yang berbeza dalam PHP dan menggunakan operasi UNION untuk menyelesaikan tugasan pertanyaan bersama. Melalui artikel ini, kami berharap pembaca dapat lebih memahami cara menggunakan pelbagai perkhidmatan pangkalan data dalam PHP.
Atas ialah kandungan terperinci Memperkenalkan cara untuk melengkapkan pertanyaan bersama jadual dua pangkalan data pelayan berbeza dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

Kenyataan yang disediakan dalam PHP meningkatkan keselamatan pangkalan data dan kecekapan dengan mencegah suntikan SQL dan meningkatkan prestasi pertanyaan melalui kompilasi dan penggunaan semula.

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Artikel membincangkan mendapatkan data dari pangkalan data menggunakan PHP, meliputi langkah, langkah keselamatan, teknik pengoptimuman, dan kesilapan umum dengan penyelesaian.
