Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menanyakan dua pangkalan data menggunakan PHP

Bagaimana untuk menanyakan dua pangkalan data menggunakan PHP

PHPz
Lepaskan: 2023-03-31 10:30:35
asal
1276 orang telah melayarinya

PHP ialah bahasa skrip sumber terbuka yang digunakan terutamanya pada bahagian pelayan, selalunya digunakan untuk pembangunan web. Ia mempunyai kelebihan mudah dipelajari, mudah digunakan dan kecekapan pembangunan yang tinggi, dan telah digunakan secara meluas dalam pembangunan laman web. Dalam pembangunan sebenar, anda mungkin menghadapi situasi di mana anda perlu menanyakan berbilang pangkalan data Artikel ini akan memperkenalkan cara menggunakan PHP untuk menanyakan dua pangkalan data.

1. Sambung ke pangkalan data

Dalam PHP, sambungan ke pangkalan data biasanya menggunakan sambungan mysqli dan sambungan PDO. Artikel ini menggunakan sambungan mysqli untuk demonstrasi.

Mula-mula buat dua pangkalan data, masing-masing dinamakan db1 dan db2, dan buat jadual pelajar dan jadual guru masing-masing di dalamnya. Kedua-dua jadual mempunyai medan seperti id, nama, umur dan sebagainya. Kemudian sambungkan dua pangkalan data dalam kod PHP dan tanya data kedua-dua jadual Kod tersebut adalah seperti berikut:

//Sambungkan pangkalan data db1
$mysqli1 = new. mysqli(" localhost", "root", "password", "db1");

//Connect to db2 database
$mysqli2 = new mysqli("localhost", "root", "password ", "db2 ");

//Soal jadual pelajar dalam pangkalan data db1
$sql1 = "SELECT * FROM student";
$result1 = $mysqli1->query($ sql1);
while ($row1 = $result1->fetch_assoc()) {

//输出db1数据库中的student表的数据
echo "db1中student表的数据:" . $row1['id'] . " " . $row1['name'] . " " .$row1['age'].  "<br/>";
Salin selepas log masuk

}

//Soal jadual guru dalam pangkalan data db2
$sql2 = "PILIH * DARI guru";
$result2 = $mysqli2->query($sql2);
manakala ($row2 = $result2->fetch_assoc()) {

//输出db2数据库中的teacher表的数据
echo "db2中teacher表的数据:" . $row2['id'] . " " . $row2['name'] . " " .$row2['age'].  "<br/>";
Salin selepas log masuk

}
?>

Dalam kod di atas, mula-mula gunakan mysqli untuk cuba menyambung ke dua pangkalan data db1 dan db2, dan kemudian tanya data satu jadual setiap satu dan keluarkannya pada halaman tersebut. Gelung sementara digunakan untuk mengeluarkan data baris demi baris.

2. Gunakan sambungan yang sama untuk menanyakan dua pangkalan data

Selepas menyambung ke satu pangkalan data, anda boleh menggunakan objek sambungan untuk menanyakan berbilang pangkalan data daripada pangkalan data lain Boleh. Kod sampel adalah seperti berikut:

//Sambung ke pangkalan data db1
$mysqli = new mysqli("localhost", "root", "password", "db1" );

//Soal jadual pelajar dalam db1
$sql1 = "SELECT * FROM student";
$result1 = $mysqli->query($sql1);
sambil ($row1 = $result1->fetch_assoc()) {

//输出db1中的student表的数据
echo "db1中student表的数据:" . $row1['id'] . " " . $row1['name'] . " " .$row1['age']. "<br/>";
Salin selepas log masuk

}

//Soal jadual guru dalam db2
$sql2 = "PILIH * DARI db2. cikgu";
$result2 = $mysqli->query($sql2);
manakala ($row2 = $result2->fetch_assoc()) {

//输出db2中的teacher表的数据
echo "db2中teacher表的数据:" . $row2['id'] . " " . $row2['name'] . " " .$row2['age']. "<br/>";
Salin selepas log masuk

}
?>

Dalam kod di atas, hanya satu sambungan mysqli digunakan, tetapi berbilang pangkalan data boleh ditanya. Ini boleh dicapai dengan menggunakan "." untuk menyambungkan nama perpustakaan dan nama jadual.

3. Ringkasan

Artikel ini memperkenalkan cara menggunakan PHP untuk menanyakan dua pangkalan data dan menyediakan dua kaedah. Kaedah pertama ialah menggunakan sambungan mysqli untuk mewujudkan berbilang sambungan untuk pertanyaan, dan kaedah kedua ialah menggunakan objek sambungan yang sama untuk menanyakan berbilang pangkalan data. Dalam pembangunan sebenar, pilih kaedah yang sesuai mengikut keperluan tertentu.

Atas ialah kandungan terperinci Bagaimana untuk menanyakan dua pangkalan data menggunakan 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan