IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème constructeur PDO [PDO]


Sujet :

PHP & Base de données

Vue hybride

AsQuel Problème constructeur PDO 07/02/2008, 10h17
stfm Bonjour, ça a l'air rigolo... 07/02/2008, 10h33
AsQuel bonjour, merci de ta réponse:... 07/02/2008, 12h08
AsQuel Bon j'ai trouvé c'était une... 07/02/2008, 15h45
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Par défaut Problème constructeur PDO
    Bonjour tout le monde,

    Pour mes besoins personnels de logs j'ai du étendre la classe PDO ainsi que la classe PDOStatement.

    J'ai inséré dans mon constructeur de PDO une petite ecriture dans un fichier de log pour savoir quand est construit ma connexion.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    class myPDODriver extends PDO {
            private $dbh;
            private $nbExec;
            private $nbQuery;
            private $sms;
     
            public function __construct($DSN, $USER, $PASS){
                parent::__construct($DSN,$USER,$PASS);
                $this->nbExec = 0;
                $this->nbQuery = 0;
                ecrireLog("Construction nouveau driver PDO");
                $this->sms = null;
            }
     
           public function __destruct(){
                ecrireLog($this->nbExec . " Executions effectuées depuis démarrage du driver & ".$this->nbQuery . " Query effectuées depuis démarrage du driver");
            }
    J'ai ouvert mon fichier de log ce matin et là je vois 2.9 mo de log, alors que le site est en local et que personne ne l'a utilisé !
    Et ceci à l'intérieur :
    00:00:12 0 Executions effectuées depuis démarrage du driver & 0 Query effectuées depuis démarrage du driver
    2 > 00:00:13 Construction nouveau driver PDO
    2 > 00:00:13 0 Executions effectuées depuis démarrage du driver & 0 Query effectuées depuis démarrage du driver
    2 > 00:00:14 Construction nouveau driver PDO
    2 > 00:00:14 0 Executions effectuées depuis démarrage du driver & 0 Query effectuées depuis démarrage du driver
    2 > 00:00:16 Construction nouveau driver PDO
    2 > 00:00:17 0 Executions effectuées depuis démarrage du driver & 0 Query effectuées depuis démarrage du driver
    2 > 00:00:17 Construction nouveau driver PDO
    2 > 00:00:18 0 Executions effectuées depuis démarrage du driver & 0 Query effectuées depuis démarrage du driver
    2 > 00:00:19 Construction nouveau driver PDO
    2 > 00:00:19 0 Executions effectuées depuis démarrage du driver & 0 Query effectuées depuis démarrage du driver
    2 > 00:00:20 Construction nouveau driver PDO
    2 > 00:00:20 0 Executions effectuées depuis démarrage du driver & 0 Query effectuées depuis démarrage du driver
    2 > 00:00:21 Construction nouveau driver PDO
    En gros il m'a construit un objet PDO toutes les secondes de minuit à ce matin !!!
    Auriez vous une idée de la raison pour laquelle il fait cela ??
    Merci d'avance
    Axel

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 52
    Par défaut
    Bonjour,

    ça a l'air rigolo ton histoire
    Les premières questions qui viennent à l'esprit sont
    - Où instancies-tu ta classe ?
    - N'y a t'il pas une poissibilité que lors de tests hier soir, tu aies déclenché une boucle infinie et que php ne s'est pas arrêté de la nuit ?
    - Lorsque tu arrêtes ton serveur et que tu le relance, cela continue-t'il ?
    - Ce matin, ton fichier de traces continue-t'il à grossir ?

    stf

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Par défaut
    bonjour, merci de ta réponse:

    - j'instancie ma classe dans un fichier conf.inc appelé ensuite dans chacune des pages ayant besoin d'une connexion : (voilà son contenu)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    include_once($_SERVER['DOCUMENT_ROOT']."/voyance/fonctions.php");
     
     
     
    /** CONNEXION BASE **/
    try {
    	$dbh = new myPDODriver(DSN,USER,PASS);
    	$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    	$dbh->setAttribute(PDO::ATTR_STATEMENT_CLASS,array('myPDOStatement',array($dbh)));
    }catch (PDOException $e){
    	print "Erreur ! ".$e->getMessage()."<br/>";
    	die();
    }
    Je ne pense pas qu'il y ait une boucle qui ait provoqué cela.

    - Le fichier de traces n'a pas grossi ce matin
    - Et enfin arreté et relancer le serveur ne change rien

    Le seul endroit dans mon code ou il y pourrait y avoir un probleme, c'est que dans un script j'accède à une base de données pour consulter qqch toutes les secondes.
    Mais je n'instancie pas myPDODriver pour cela, j'instancie la classe normale, c'est à dire PDO !
    Je ne comprends pas lol

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Par défaut
    Bon j'ai trouvé
    c'était une inclusion foireuse de mon fichier de conf

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JDOM] Problème constructeur de SaxB
    Par mike600river dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 10/09/2007, 20h02
  2. Réponses: 4
    Dernier message: 15/08/2007, 11h42
  3. [PDO] Problème de PDO avec migration mysql -> mssql
    Par bulkathos dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/07/2007, 12h15
  4. Problème constructeur JDialog
    Par catwomanette dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 05/01/2007, 09h44
  5. problème constructeur + héritage
    Par BOLARD dans le forum C++
    Réponses: 10
    Dernier message: 13/04/2006, 08h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo