Saya memiliki masalah yang sama dengan PDO::nextRowset(), karena mengembalikan true meskipun tidak ada lagi baris yang tersedia, oleh karena itu ketika memanggil fetchAll(), itu menimbulkan pengecualian HY000. (diuji pada PHP 5.5.12 windows, MySQL 5.5.17 linux)
Solusi untuk masalah ini adalah memeriksa jumlah kolom dengan metode PDO::columnCount() sebelum mengambil rowset. Jika bukan nol, Anda memiliki rowset yang valid, dan dengan demikian Anda dapat memanggil PDO::fetchAll().
Bahkan jika PDO::nextRowset() melaporkan true, columnCount() akan melaporkan jumlah kolom sebelum pindah ke rowset berikutnya.
Contoh:
while ($objQuery->columnCount()) {
$tab[] = $objQuery->fetchAll(\PDO::FETCH_ASSOC);
$objQuery->nextRowset();
}