developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Opened 13 years ago

Closed 13 years ago

#72 closed enhancement (duplicate)

Validité d'une connexion à une base de données.

Reported by: yannick@… Owned by:
Priority: low Milestone:
Component: jelix:db Version: 1.0alpha5
Severity: minor Keywords: db connection
Cc: Blocked By:
Blocking: Documentation needed:
Hosting Provider: Php version:

Description

Lors d'un jDb::getConnection, il n'existe pas de moyen (enfin visiblement) de savoir si la connexion à la base s'est déroulé correctement, autre que le warning renvoyé par PHP (il pourrait être génant, mais la gestion des erreurs de jelix permet de rediriger les Warnings vers d'autres horizons donc ce problème n'en est pas un).

Par contre, si par la suite, on en vient à faire une requete sur cette connexion innexistant, on peut se retrouver avec des erreurs Fatales.

une façon de gérer ça : rajouter un accesseur pour la propriété protégée $_connection permettant juste de savoir si l'on a une ressource de connexion ou autre chose. Les autres choses pouvant être null (non initialisé) où false (connexion échouée) ça donne (dans le fichier jDbConnection.class.php) :

    function activeConnection ()
    {
        return is_object ($this->_connection);
    }

Du coup, la méthode destruct devient :

    function __destruct(){
        if($this->activeConnection ()) {
           $this->_disconnect ();
        }
    }

Change History (1)

comment:1 Changed 13 years ago by laurentj

  • Resolution set to duplicate
  • Status changed from new to closed

solution, voir ticket #74 (solution qu'il aurait mieux fallu poster en commentaire ici ;-)

Note: See TracTickets for help on using tickets.