मुझे लगता है कि आप अपने डू/जबकि लूप के साथ चीजों को जटिल बना रहे हैं।
इसके बजाय एक साधारण जबकि लूप आज़माएं:
$pdo = /* connection stuff here */
$sql = "select 1; select 2; select 3; select 4;";
$statement = $pdo->query($sql);
while($rowset = $statement->fetchAll()){
//do stuff
$statement->nextRowset();
}
यह लूपिंग जारी रखेगा जबकि रोसेट का कोई गलत मान नहीं है जो तब ठीक उसी तरह काम करना चाहिए जैसा आप उम्मीद करते हैं।