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