sql >> Databáze >  >> RDS >> Mysql

Může php PDO načíst dvě sady výsledků? A pokud ano, co je lepší 1 sada výsledků nebo více než 1?

Ano PDO může načíst dvě (nebo více) sad řádků, pokud to databáze, kterou používáte, podporuje. Myslím, že MS SQL Server a MySQL oba tuto funkci podporují, ale v době psaní SQLite ne.

Požadovaná funkce je PDOStatement::nextRowset

Takže ve vašem příkladu výše byste mohli udělat něco jako;

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

Je naprosto rozumné, aby jedna uložená procedura vracela více než jednu sadu řádků.



  1. spustit soubor .sql pomocí příkazového řádku

  2. ORDER BY s vnitřním dotazem, přičemž u ORA-00907 chybí pravá závorka

  3. Použití IN s poddotazem nepoužívá index

  4. Domovská stránka Oracle pouze pro čtení