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();
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);
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);
Mengendalikan Set Keputusan
Selepas melaksanakan pertanyaan, set hasil boleh diambil menggunakan mysqli_store_result() fungsi:
$result1 = $mysqli->store_result(); $result2 = $mysqli->store_result();
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 }
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!