Mysql
 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 връща втори набор от редове до която трябва да получите достъп, преди да изпълните втора (и последваща) съхранена процедура в същата връзка.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Върнете деня, месеца и годината в MySQL

  2. $stmt->close() срещу $stmt->free_result()

  3. MySQL:Вграден JSON срещу таблица

  4. Увеличете полето на базата данни с 1

  5. КОАЛЕСИРАНЕ в laravel