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));
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!