Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Melaksanakan Berbilang Pertanyaan MySQL Serentak dalam PHP dan Mengendalikan Set Keputusan Berasingan?

Bagaimanakah Saya Boleh Melaksanakan Berbilang Pertanyaan MySQL Serentak dalam PHP dan Mengendalikan Set Keputusan Berasingan?

Susan Sarandon
Lepaskan: 2024-12-18 12:01:11
asal
383 orang telah melayarinya

How Can I Execute Multiple MySQL Queries Simultaneously in PHP and Handle Separate Result Sets?

Melaksanakan Berbilang Pertanyaan MySQL sebagai Satu dalam PHP/MySQL

Pengenalan

Melaksanakan berbilang SQL pertanyaan secara serentak boleh meningkatkan kecekapan dalam pemprosesan pangkalan data. Artikel ini meneroka cara untuk melaksanakan dua pertanyaan MySQL sebagai satu dalam PHP/MySQL, menangani keperluan untuk mengendalikan set hasil yang berasingan dengan berkesan.

Definisi Masalah

Pertimbangkan dua berikut Pertanyaan MySQL:

SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;
SELECT FOUND_ROWS();
Salin selepas log masuk

Pertanyaan pertama mengambil data daripada my_table, dan yang kedua pertanyaan mengira jumlah bilangan baris dalam jadual.

Pelaksanaan PHP

Lazimnya, pertanyaan ini dilaksanakan secara berasingan menggunakan fungsi mysql_query(). Walau bagaimanapun, pendekatan ini tidak menyediakan cara untuk mengendalikan set hasil individu secara berasingan.

$result1 = mysql_query($query1);
$result2 = mysql_query($query2);
Salin selepas log masuk

Pelaksanaan Berbilang Pertanyaan

Untuk melaksanakan kedua-dua pertanyaan dalam satu percubaan, fungsi mysqli_multi_query() boleh digunakan. Fungsi ini membenarkan berbilang pertanyaan dilaksanakan secara berurutan:

$mysqli = new mysqli('hostname', 'username', 'password', 'database_name');

mysqli_multi_query($mysqli, $query1 . ';' . $query2);
Salin selepas log masuk

Mengendalikan Set Keputusan

Selepas melaksanakan pertanyaan, set hasil boleh diambil menggunakan mysqli_store_result() fungsi:

$result1 = $mysqli->store_result();
$result2 = $mysqli->store_result();
Salin selepas log masuk

Sekarang, anda boleh lelaran melalui setiap set hasil secara individu, sama seperti cara ia dikendalikan dalam ASP.NET menggunakan set data:

while ($row1 = $result1->fetch_assoc()) {
    // Process row data from the first query
}

while ($row2 = $result2->fetch_assoc()) {
    // Process row data from the second query
}
Salin selepas log masuk

Nota

Adalah penting untuk ambil perhatian bahawa fungsi mysqli_multi_query() hanya boleh digunakan apabila pertanyaan individu adalah bebas dan tidak bergantung pada hasil satu sama lain.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Berbilang Pertanyaan MySQL Serentak dalam PHP dan Mengendalikan Set Keputusan Berasingan?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan