sql >> データベース >  >> RDS >> Mysql

php PDOは2つの結果セットをフェッチできますか?そして、もしそうなら、1つの結果セットまたは1より多いものは何が良いですか?

    はいPDO 使用しているデータベースがサポートしている限り、2つ(またはそれ以上)の行セットをフェッチできます。 MS SQL Server およびMySQL どちらもこの機能をサポートしていますが、執筆時点では SQLite しません。

    必要な関数は PDOStatement ::nextRowset です。

    したがって、上記の例では、次のようなことを行う可能性があります;

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

    1つのストアドプロシージャが複数の行セットを返すことは完全に合理的です。



    1. HibernateでPostgreSQLLTREE列をマッピングするときにエラーが発生する

    2. MySQL、NULLまたは空の文字列を挿入する方が良いですか?

    3. SQLServerレポートサービスレポートに交互の行の色を追加する

    4. IntegrityError:(1062、キーの重複エントリ)