sql >> Databáze >  >> RDS >> Mysql

Jak se vyhnout této výjimce PDO:Nelze provádět dotazy, dokud jsou aktivní jiné dotazy bez vyrovnávací paměti

Říkáte, že jste zveřejnili zjednodušenou verzi kódu. Změnili jste ještě něco, když jste to sem zveřejnili? Tato chyba je obvykle způsobena, když máte "otevřených" více dotazů současně. Například zavoláte fetch() , ale nezavoláte jej, dokud není vyčerpán, a poté se pokusíte získat druhý dotaz.

Soudě podle vašeho výše uvedeného kódu by k tomu nemělo dojít, protože používáte fetchAll() . Normálně je řešením tohoto problému volání closeCursor() [docs] . Můžete to zkusit volat po každém fetchAll a uvidíme, jestli to něco udělá.



  1. Výstup UTF-8 s CakePHP

  2. node-mysql více příkazů v jednom dotazu

  3. Připravené příkazy PDO/MYSQL neuvádějí znaky?

  4. Jak získat první a poslední záznam z dotazu SQL?