Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O php PDO pode buscar dois conjuntos de resultados? E se sim, o que é melhor 1 conjunto de resultados ou mais de 1?


Sim PDO pode buscar dois (ou mais) conjuntos de linhas, desde que o banco de dados que você está usando o suporte. Acho que MS SQL Server e MySQL ambos suportam esta funcionalidade, mas no momento da escrita do SQLite não.

A função que você deseja é PDOStatement::nextRowset

Então, no seu exemplo acima, você pode fazer algo como;
$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);

É perfeitamente razoável que um único procedimento armazenado retorne mais de um conjunto de linhas.