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);
  	}
  }
 
}