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

他のバッファリングされていないクエリがアクティブな間はクエリを実行できませんループ内のエラー

    実行ループですべての結果をフェッチした後、次の行セットを取得してからカーソルを閉じてから、ストアドプロシージャの実行を再試行する必要があります。これを試してください:

    foreach($data_arr AS $key => $val){
        $values = $val;
        $stmt->execute();
        $res = $stmt->fetchAll();
        $stmt->nextRowset();   // NEW: Get the next rowset after fetching your results
        $stmt->closeCursor();  // NEW: Close the cursor
    }
    

    ここで本当に重要な追加は、 nextRowSet() の呼び出しです。 。内部的には、PDOは2番目の行セットを返します。 同じ接続で2番目(およびそれ以降)のストアドプロシージャを実行する前にアクセスする必要があります。



    1. Oracleで文字列から日付を取得する方法

    2. SQL Server 2016:データのインポート

    3. Axiosでクエリパラメータを投稿する方法は?

    4. 別のMAX値でテーブルを結合します