Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie można wykonać zapytań, podczas gdy inne niebuforowane zapytania są aktywne w pętli

Po pobraniu wszystkich wyników w pętli wykonywania należy pobrać następny zestaw wierszy, a następnie zamknąć kursor przed ponowną próbą wykonania procedury składowanej. Spróbuj tego:

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
}

Naprawdę ważnym dodatkiem jest tutaj wywołanie nextRowSet() . Pod maską PDO zwraca drugi zestaw wierszy do których musisz uzyskać dostęp przed wykonaniem drugiej (i kolejnych) procedury składowanej na tym samym połączeniu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znaki inne niż angielskie pojawiają się jako znaki zapytania na mojej stronie php - pojawiają się dobrze w bazie danych

  2. Mysql Utwórz tabelę z dynamiczną nazwą bazy danych

  3. W jaki sposób mogę chronić swoją witrynę z wyłączeniem XSS i wstrzykiwania SQL?

  4. MySQL:=true vs is true w BOOLEAN. Kiedy wskazane jest użycie którego? A który jest niezależny od dostawcy?

  5. Aktualizacja zastąpienia średnika w SQL otrzymuje błąd składni