sql >> Databasteknik >  >> RDS >> Mysql

Kan php PDO hämta två resultatuppsättningar? Och om ja, vad är bättre med 1 resultatuppsättning eller fler än 1?

Ja PDO kan hämta två (eller fler) raduppsättningar, så länge databasen du använder stöder det. Jag tror MS SQL Server och MySQL båda stöder denna funktionalitet, men i skrivande stund SQLite inte.

Funktionen du vill ha är PDOStatement::nextRowset

Så i ditt exempel ovan kan du göra något i stil med;

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

Det är helt rimligt att en enskild lagrad procedur returnerar mer än en raduppsättning.



  1. Hur fungerar Subquery i select-satsen i Oracle

  2. När du beställer efter beskrivning av datum, bromsar användningen av temporär sökfrågan

  3. mysql join med flera värden i en kolumn

  4. Python unicode-kodningsproblem