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 :

Modification d'une classe requêtant pour MySQL


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Points
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 15
    Par défaut Modification d'une classe requêtant pour MySQL
    Bien le bonjour nous comme en train de formé un site web avec un base mysql cependant nous avons un probleme a éffectué le moin de connexion innutile possible à la base de donnée. J'aimerais que quand je crée un connexion que si elle existe déja de simplement utilisé celle existante afin d'évité les connexioj inutile. Merci beaucoup à vous.

    voici notre code
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    <?php
     
    /*
      Auteur : Pier-Luc Théberge, Jonathan Nadeau
      Fichier : requester.class.php
      Date de création : 8 janvier 2008
      Date de modification : 2 mars 2008 par Jonathan
      Test: Teste le 2 mars 2008 par Jonathan Nadeau
    */
     
    class requester {
     
      //Informations de connexion à la base de données
      private static $db_username = '*********';
      private static $db_password = '*********';
      private static $db_host = 'localhost';
      private static $db_database = 'CIFQ';
      private static $db_handler = null;
      private static $nbInstances = 0;
     
      //Contient la table actuelle de l'instance
      protected static $db_table;
     
      public function __construct($_db, $_table = NULL) {
        // Établissement de la connexion si elle n'est pas déjà établie
        // par une autre instance
        if(self::$db_handler == null) {
          try {
          	self::$db_handler = mysql_connect(self::$db_host, self::$db_username, self::$db_password);
          	$this->setDatabase($_db);
          } catch (Exception $e) {
            throw new Exception($e->getMessage());  
          }
        }
     
        if($_table != NULL) {
          try   {
           $this->setTable($_table);
          } catch (Exception $e)  {
            throw new Exception($e->getMessage());
          }
        }
     
        self::$nbInstances++;
      }
     
      //Mofication gesiton d'erreur par jonathan le 2 mars 2008
      public function setTable($_table) {
        $request = 'SHOW TABLES FROM '.self::$db_database.' LIKE \''.$_table.'\'';
        if(mysql_num_rows(mysql_query($request)) == 0) {
          throw new Exception('La table ' .$_table. ' est inexistante dans la base de donnees '
                            .$this->db_database);
        }
        self::$db_table = $_table;
      }
     
      //Ajouter par Jonathan le 18 Janvier 2008
      public function setDatabase($_db) {
        self::$db_database = $_db;
        if(mysql_select_db(self::$db_database, self::$db_handler) == 0){
          throw new Exception('La base de donnee '.$_db.' est inexistante!');
        }
      }
     
      public function __destruct() {
        self::$nbInstances--;
        if(self::$nbInstances == 0) {
          mysql_close(self::$db_handler);
      	}
      }
     
    }

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Points
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 15
    Par défaut
    j'ai pensé a une solution est-ce que l'utilisation de mysql_pconnect() serait approprié?

    Merci

Discussions similaires

  1. Utilisation d'une classe connexion pour MySQL
    Par nolookpass8 dans le forum Développement Web en Java
    Réponses: 7
    Dernier message: 02/04/2013, 18h42
  2. modifier une requête pour mysql 4.0.18
    Par lina01 dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/11/2006, 12h38
  3. EDBEngineError sur une requête pour MySQL
    Par Slyteck dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/08/2006, 15h17
  4. recherche une classe KZtransImg pour delphi 7
    Par plante20100 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/07/2005, 14h56
  5. Modification d'une base Access avec MySQL
    Par Wyatt dans le forum Administration
    Réponses: 2
    Dernier message: 07/01/2005, 20h20

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