Ya PDO
dapat mengambil dua (atau lebih) baris, selama database yang Anda gunakan mendukungnya. Saya pikir MS SQL Server dan MySQL keduanya mendukung fungsi ini, tetapi pada saat penulisan SQLite tidak.
Fungsi yang Anda inginkan adalah PDOStatement::nextRowset
Jadi dalam contoh Anda di atas, Anda mungkin melakukan sesuatu seperti;
$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);
Sangat masuk akal jika satu prosedur tersimpan mengembalikan lebih dari satu baris.