हाँ PDO
दो (या अधिक) रोसेट प्राप्त कर सकते हैं, जब तक कि आप जिस डेटाबेस का उपयोग कर रहे हैं वह इसका समर्थन करता है। मुझे लगता है कि MS SQL सर्वर और MySQL दोनों इस कार्यक्षमता का समर्थन करते हैं, लेकिन लेखन के समय SQLite नहीं।
आप जो फ़ंक्शन चाहते हैं वह है PDOStatement::nextRowset
तो ऊपर आपके उदाहरण में, आप कुछ ऐसा कर सकते हैं;
$sth = $dbh->prepare("SELECT * FROM tb1 WHERE cond1;
SELECT * FROM tb2 WHERE cond2");
$sth->execute();
$rowset1 = $sth->fetchAll();
$sth->nextRowset();
$rowset2 = $sth->fetchAll();
print_r($rowset1);
print_r($rowset2);
एक से अधिक पंक्तियों को वापस करने के लिए एक संग्रहित प्रक्रिया के लिए यह पूरी तरह से उचित है।