Mysql
 sql >> Database >  >> RDS >> Mysql

php PDO può recuperare due set di risultati? E se sì, quale è meglio 1 set di risultati o più di 1?

PDO può recuperare due (o più) set di righe, purché il database in uso lo supporti. Penso MS SQL Server e MySQL entrambi supportano questa funzionalità, ma al momento della stesura di SQLite no.

La funzione che desideri è PDOStatement::nextRowset

Quindi nel tuo esempio sopra, potresti fare qualcosa del tipo;

$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);

È perfettamente ragionevole che una singola stored procedure restituisca più di un set di righe.