Bagaimanakah Saya Boleh Dapatkan Berbilang Set Keputusan daripada Pertanyaan MySQL PDO Tunggal?

Barbara Streisand
Lepaskan: 2024-11-18 09:47:02
asal
779 orang telah melayarinya

How Can I Retrieve Multiple Result Sets from a Single PDO MySQL Query?

Mengambil Berbilang Set Hasil daripada PDO Berbilang Pertanyaan

Pemandu PDO_MYSQLND memperkenalkan sokongan untuk berbilang pertanyaan dalam PHP versi 5.3. Ini membolehkan pengguna melaksanakan berbilang pertanyaan SQL serentak. Walau bagaimanapun, mendapatkan semula semua set hasil daripada pertanyaan ini boleh menjadi mencabar.

Pernyataan Masalah

Pertanyaan "PILIH 1; PILIH 2;" akan melaksanakan kedua-dua pertanyaan, tetapi hanya set hasil pertanyaan pertama dikembalikan. Set hasil kedua nampaknya dibuang.

Penyelesaian

Untuk mendapatkan berbilang set hasil, kaedah PDOStatement::nextRowset mesti digunakan. Kaedah ini memajukan kursor ke permulaan set baris seterusnya. Dengan memanggil nextRowset selepas pertanyaan pertama, pengguna boleh mengakses set hasil pertanyaan kedua.

$stmt = $db->query("SELECT 1; SELECT 2;");
$stmt->nextRowset();
var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
Salin selepas log masuk

Ini akan mengembalikan set keputusan untuk pertanyaan kedua.

Kelebihan dan Kelemahan

Pelaksanaan ini membolehkan untuk mengambil setiap hasil pertanyaan menggunakan gaya FETCH yang berbeza. Walau bagaimanapun, ia boleh menjadi lebih kompleks daripada pelaksanaan yang hanya mengembalikan semua set hasil di bawah satu tatasusunan. Namun begitu, keupayaan untuk mengendalikan berbilang hasil secara fleksibel boleh menjadi berharga dalam sesetengah senario.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Berbilang Set Keputusan daripada Pertanyaan MySQL PDO Tunggal?. 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