"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi MySQL Return Error 2014: "Impossible d'exécuter des requêtes tandis que les autres requêtes non frappées sont actives"?

Pourquoi MySQL Return Error 2014: "Impossible d'exécuter des requêtes tandis que les autres requêtes non frappées sont actives"?

Publié le 2025-02-06
Parcourir:757

Why Does MySQL Return Error 2014:

Les causes de l'erreur MySQL 2014: ne peuvent pas exécuter des requêtes tandis que d'autres requêtes non atteintes sont actifs

Le protocole client de Mysql restreint exécuter les requêtes multiples de manière concurrentielle lorsque les résultats de MySQL d'une requête précédente n'a pas été complètement récupérée. Cette limitation survient en raison de la nature non tamponnée de certaines requêtes, où les lignes sont récupérées progressivement au lieu d'être immédiatement mises en cache comme dans les requêtes tamponnées.

lors de l'exécution d'une requête non frappée et de la tentative d'exécution d'une autre requête avant de récupérer toutes les lignes de toutes les lignes des lignes de toutes Tout d'abord, MySQL renvoie l'erreur "Impossible d'exécuter des requêtes tandis que d'autres requêtes non tamponnées sont actives."

instructions préparées imitées

PDO :: att_emulate_prepares spécifie si les instructions préparées sont imitées ou émulé Exécuté comme des instructions préparées à MySQL natives. Si défini sur FALSE, l'utilisation de requêtes PHP non tampon peut déclencher l'erreur 2014. En effet ]

Il existe plusieurs façons de résoudre cette erreur:

Utilisez des requêtes tamponnées:

Activation de PDO :: MySQL_ATTR_USE_BUFFERED_QUERY provoque des requêtes à exécuter en mode tampon lignes à la fois. Cependant, cela peut être à forte intensité de mémoire si l'ensemble de résultats est grand.

  • Reprochez toutes , permettant d'exécuter les requêtes ultérieures sans erreur.
  • Fermez le curseur:
  • fermant le curseur avec CloseCursor () libère les ressources de Mysql associées à la requête non frappée et permet à des requêtes ultérieures d'exécuter. Cependant, cela empêche la récupération de toutes les lignes restantes de la requête non frappée.
  • meilleures pratiques
  • pour éviter de rencontrer cette erreur, elle est recommandée à:

Utilisez des requêtes tamponnées ou fetchall () par défaut pour les requêtes non tampon Composé l'erreur.

Fermez les curseurs lorsque vous avez terminé les données de récupération pour libérer les ressources du serveur et empêcher l'erreur de se produire. prend en charge les instructions préparées émulées.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3