Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Melaksanakan Berbilang Pertanyaan SQL dalam Set Keputusan Tunggal dengan PHP/MySQL?

Bagaimana untuk Melaksanakan Berbilang Pertanyaan SQL dalam Set Keputusan Tunggal dengan PHP/MySQL?

Linda Hamilton
Lepaskan: 2024-11-11 15:37:03
asal
559 orang telah melayarinya

How to Execute Multiple SQL Queries in a Single Result Set with PHP/MySQL?

Melaksanakan Berbilang Pertanyaan dalam PHP/MySQL

Soalan:

Bagaimana saya boleh menggabungkan berbilang Pertanyaan SQL ke dalam set hasil tunggal dalam PHP menggunakan MySQL?

Jawapan:

Untuk melaksanakan berbilang pertanyaan bercantum dalam PHP menggunakan MySQL, ikut langkah berikut:

  1. Buat Pernyataan SQL:
    Sambungkan pertanyaan SQL individu ke dalam rentetan tunggal, dipisahkan dengan koma bertitik (;). Pastikan terdapat dua titik koma pada akhir setiap pertanyaan kecuali yang terakhir.
  2. Sambung ke Pangkalan Data:
    Gunakan fungsi mysqli_connect untuk mewujudkan sambungan pangkalan data.
  3. Sediakan Pertanyaan:
    Gunakan fungsi mysqli_prepare untuk menyediakan pernyataan berbilang pertanyaan.
$query = "SQL STATEMENT 1;;SQL STATEMENT 2;;SQL STATEMENT 3";
Salin selepas log masuk
  1. Jalankan Pertanyaan:
    Gunakan fungsi mysqli_multi_query untuk melaksanakan pernyataan yang disediakan.
if (mysqli_multi_query($link, $query)) {
    do {
        // Store and process results
    } while (mysqli_next_result($link));
}
Salin selepas log masuk
  1. Ambil Hasil:
    Selepas melaksanakan pertanyaan, gunakan mysqli_fetch_array daripada setiap pertanyaan.

Contoh:

$link = mysqli_connect("server", "user", "password", "database");

$query = "CREATE VIEW current_rankings AS SELECT * FROM main_table WHERE date = X;;
CREATE VIEW previous_rankings AS SELECT rank FROM main_table WHERE date = date_sub('X', INTERVAL 1 MONTH);;
CREATE VIEW final_output AS SELECT current_rankings.player, current_rankings.rank as current_rank LEFT JOIN previous_rankings.rank as prev_rank
             ON (current_rankings.player = previous_rankings.player);;
SELECT *, @rank_change = prev_rank - current_rank as rank_change from final_output";

if (mysqli_multi_query($link, $query)) {
    do {
        if ($result = mysqli_store_result($link)) {
            while ($row = mysqli_fetch_array($result)) {
                // Process results
            }
            mysqli_free_result($result);
        }
    } while (mysqli_next_result($link));
}
Salin selepas log masuk

Pendekatan Alternatif:

Sebagai alternatif, anda boleh melaksanakan setiap pertanyaan secara berasingan dan proses hasilnya satu demi satu. Pendekatan ini disyorkan jika pertanyaan tidak saling bergantung.

$query1 = "Create temporary table A select c1 from t1";
$result1 = mysqli_query($link, $query1);

$query2 = "select c1 from A";
$result2 = mysqli_query($link, $query2);

while($row = mysqli_fetch_array($result2)) {
    // Process results
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Berbilang Pertanyaan SQL dalam Set Keputusan Tunggal dengan PHP/MySQL?. 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