Je viens migré de MySQL vers une nouvelle MariaDB et tous mes sites sont projetés:solution différente de `ne peut pas exécuter des requêtes alors que d'autres requêtes non tamponnée active`
Impossible d'exécuter des requêtes alors que d'autres requêtes unbuffered sont actives . Envisagez d'utiliser PDOStatement :: fetchAll(). Alternativement, si votre code ne sera exécuté que sur MySQL, vous pouvez activer la mise en mémoire tampon de la requête en définissant l'attribut PDO :: MYSQL_ATTR_USE_BUFFERED_QUERY.
J'ai recherché cette erreur et essayé de faire ce que les gens ont suggéré.
J'ai donc changé mon code pour utiliser le closeCursor()
du PDO. J'ai essayé d'utiliser PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
et rien ne fonctionne.
En fait, vous devriez mettre utf8 dans la section charset de DSN. et il est inutile d'utiliser PDO :: MYSQL_ATTR_INIT_COMMAND, car vous pouvez envoyer n'importe quel nombre de commandes en utilisant simplement la méthode query() –
@YourCommonSense Avant PHP 5.3.6 le jeu de caractères dans DSN a été ignoré, donc la solution ci-dessus fonctionne même pour PHP plus ancien. Et en utilisant MYSQL_ATTR_INIT_COMMAND au lieu de query() est juste mon choix. – Tom