Ik had hetzelfde probleem met PDO::nextRowset(), omdat het true retourneert, zelfs als er geen rijensets meer beschikbaar zijn, daarom roept het bij het aanroepen van fetchAll() de uitzondering HY000 op. (getest op PHP 5.5.12 windows, Mysql 5.5.17 linux)
Een tijdelijke oplossing voor dit probleem is om het aantal kolommen te controleren met de methode PDO::columnCount() voordat u rijenset ophaalt. Als het niet-nul is, hebt u een geldige rijenset en kunt u dus PDO::fetchAll() aanroepen.
Zelfs als PDO::nextRowset() true rapporteert, zal columnCount() het aantal kolommen rapporteren voordat het naar de volgende rijenset gaat.
Voorbeeld:
while ($objQuery->columnCount()) {
$tab[] = $objQuery->fetchAll(\PDO::FETCH_ASSOC);
$objQuery->nextRowset();
}