AOP Ne peut pas exécuter des requêtes, tandis que d'autres barrettes de mémoire les requêtes sont actifs
Je sais que ce doit être une solution simple et je suis en partie de comprendre pourquoi j'obtiens cette erreur, mais ne savez pas comment le résoudre. J'ai regardé sur la doc, mais ne peut pas trouver une solution autre que d'utiliser le tampon de requêtes option. J'ai essayé mais ça ne fonctionne pas.
L'erreur est: les AOP Ne peut pas exécuter des requêtes, tandis que d'autres barrettes de mémoire les requêtes sont actifs
L'erreur vient de la ligne où je suis la construction de l' $tableau résultat.
foreach($phones as $phone)
{
$stmt = db::getInstance()->prepare("CALL phones(:phone)");
$stmt->bindParam(':phone', $phone, PDO::PARAM_INT, 10);
$stmt->execute();
$result[] = db::getInstance()->query("SELECT @phone;")->fetchAll(PDO::FETCH_ASSOC);
}
- la fin de la partie, mais l'ensemble des prestations de relevés, c'est que vous avez seulement besoin de préparer une seule fois. déplacez votre préparer en dehors de la boucle.
- Amen, @KenK. Amen.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de libérer votre connexion à l'aide de la méthode PDOStatement::closeCursor() la méthode
http://www.php.net/manual/en/pdostatement.closecursor.php
Je crois
le faire pour vous
Je suis tombé sur ce problème, en raison d'une erreur dans mon AOP connexion de la clause. J'ai essayé de changer le fuseau horaire lors de la connexion:
Je l'ai changé pour:
Et il a bien fonctionné.
Je viens de tomber sur ce problème moi-même et le problème s'est avéré être l'utilisation d'un empilement de requêtes. La solution ci-dessus n'a pas résolu le problème.
Nous avons eu cette requête en cours d'exécution juste avant celui qui a déclenché l'erreur:
Tout a repris comme d'habitude quand j'ai changé en:
);
C'est sorta pseudo-code, mais vous obtenez le point.
Si $stmt->closeCursor() ne fonctionne pas pour vous (ce n'était pas pour moi), vous pouvez simplement désactiver l' $stmt variable pour libérer de l'upp le curseur, comme suit: