Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 11-09-2007 12:41:39

h_ismaili
Nouveau membre
Date d'inscription: 27-08-2007
Messages: 9

urgent!!! erreur: Cannot execute queries while other...

j'ai cette erreur qui me bloque:
Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute

je sais pas si qq un parmi vous a deja rencontré ce probleme? merci de m'aider.

Hors ligne

 

#2 11-09-2007 13:38:07

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: urgent!!! erreur: Cannot execute queries while other...

Tu as fais une requête dont tu n'as pas lus entièrement le résultat.
Soit tu modifies ta requête pour ne retourner que ce dont tu as besoin (c'est le mieux),
Soit tu "consommes" d'une façon ou d'une autre tous les enregistrements que tu as récupérés.

Soit comme c'est indiqué, tu désactives la bufferisation, je jamais essayé ça, mais ce n'est certainement pas bon pour les perfs.

Hors ligne

 

#3 11-09-2007 14:03:13

h_ismaili
Nouveau membre
Date d'inscription: 27-08-2007
Messages: 9

Re: urgent!!! erreur: Cannot execute queries while other...

en fait, en bref, je veux recuperer tous les offres d'une table offre groupés par client dont je dois afficher le nom: voici les requetes que j'ai lancé:
    $clients =  $this->db1->query('SELECT DISTINCT c_id FROM c_offer')->fetchAll();
    $i=0;
    foreach ($clients as $cli){
           $allOffers[$i]['client'] =  $this->db->query('SELECT c_id,name FROM c_subscriber where                 c_id=?',(int)$cli['c_id'])->fetchAll();

    $allOffers[$i]['offres'] = $this->db->query('SELECT * FROM c_offer WHERE c_id = ?',(int)$cli['c_id'])->fetchAll();

    $i++;
}

Hors ligne

 

#4 11-09-2007 14:41:35

h_ismaili
Nouveau membre
Date d'inscription: 27-08-2007
Messages: 9

Re: urgent!!! erreur: Cannot execute queries while other...

en plusde cela les requetes que je lance(insert,update et delete) ne marchent pas;
l'erreur cette fois est
Call to a member function delete() on a non-object in C:\wamp\www\maghrebjob\library\Zend\Db\Table\Abstract.php on line 854
je crois que la connection à la base de donnees n'existe plus!!
svp aidez moi...

Hors ligne

 

#5 11-09-2007 14:58:12

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: urgent!!! erreur: Cannot execute queries while other...

h_ismaili a écrit:

en fait, en bref, je veux recuperer tous les offres d'une table offre groupés par client dont je dois afficher le nom: voici les requetes que j'ai lancé:

Code:

    $clients =  $this->db1->query('SELECT DISTINCT c_id FROM c_offer')->fetchAll();
    $i=0;
    foreach ($clients as $cli){
           $allOffers[$i]['client'] =  $this->db->query('SELECT c_id,name FROM c_subscriber where                 c_id=?',(int)$cli['c_id'])->fetchAll();

    $allOffers[$i]['offres'] = $this->db->query('SELECT * FROM c_offer WHERE c_id = ?',(int)$cli['c_id'])->fetchAll();

    $i++;
}

* mets ton code entre balise \[code\] et \[/code\], ton source n'en sera que plus lisible
* tu as 2 connexions à une db ($db1 et $db), est ce normal ?
* renseigne toi sur MySQL, tu dois surement pouvoir gérer ca en 1 requete (HAVING / GROUP BY / etc.)
* ne fait jamais de SELECT *, ca bouffe des ressources pour rien si jamais tu n'utilises pas tout

Concernant ton autre soucis .
* on voit pas tes insert, update, delete
* vérifie que tes objets sont bien de type Zend_Db_Table de mémoire car le message que tu nous donne indique que tu appliques la méthode delete() à une variable qui n'est pas un objet
* Si tu n'as pas killer la connexion à la DB, elle a pas de raison de ne plus être
* Si tu as des doutes sur son existance, vérifie qu'elle est toujours présente

Je crois que c'est a peut près tout avec les infos que l'on a

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages