sql >> Database >  >> RDS >> Mysql

Kan php PDO twee resultatensets ophalen? En zo ja, wat is beter 1 resultaatset of meer dan 1?

Ja PDO kan twee (of meer) rijensets ophalen, zolang de database die u gebruikt dit ondersteunt. Ik denk MS SQL Server en MySQL beide ondersteunen deze functionaliteit, maar op het moment van schrijven SQLite niet.

De gewenste functie is PDOStatement::nextRowset

Dus in je voorbeeld hierboven zou je iets kunnen doen als;

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

Het is volkomen redelijk dat een enkele opgeslagen procedure meer dan één rijenset retourneert.



  1. Oracle-beveiligingswaarschuwing voor CVE-2021-44228

  2. Beheerd ODP.NET-stuurprogramma wordt niet weergegeven in het dialoogvenster Gegevensbron

  3. kon het bestand in de mysql-database niet openen

  4. Ontsnappen aan trefwoordachtige kolomnamen in Postgres