. */ /* */ /*************************************************************************************/ require_once(__DIR__."/../client/config_thelia.php"); class StaticConnection { public static $db_handle = -1; public static function getHandle() { if (self::$db_handle == -1) { self::$db_handle = @mysql_connect( THELIA_BD_HOST, THELIA_BD_LOGIN, THELIA_BD_PASSWORD) or die('Le serveur de base de données n\'est pas accessible.'); mysql_query("SET NAMES UTF8", self::$db_handle); if (! self::$db_handle && $_REQUEST['erreur'] != 1) { header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); die("Connexion à la base de données impossible"); } mysql_select_db(THELIA_BD_NOM, self::$db_handle) or die('Echec de selection de la base de données.'); } return self::$db_handle; } } class Cnx { public $table = ""; public $link=""; function __construct() { $this->link = StaticConnection::getHandle(); } public function query($query, $exception = false) { $resul = mysql_query($query, $this->link); if ($resul === false) { // Tlog::error("Erreur SQL: ", $this->get_error()," - Requête: ", $query); if($exception === true){ throw new Exception(mysql_error($this->link)); } } return $resul; } public function query_liste($query, $classname = false) { $liste = array(); $resul = $this->query($query); while ($resul && $row = $this->fetch_object($resul, $classname)) { $liste[] = $row; } return $liste; } public function fetch_object($dbhandle, $classname = false) { if ($classname !== false) return mysql_fetch_object($dbhandle, $classname); else return mysql_fetch_object($dbhandle); } public function num_rows($dbhandle) { return mysql_num_rows($dbhandle); } public function get_result($dbhandle, $row = 0, $field = 0) { return mysql_result($dbhandle, $row, $field); } public function escape_string($value) { if(get_magic_quotes_gpc()) $value = stripslashes($value); return mysql_real_escape_string($value, $this->link); } public function insert_id() { return mysql_insert_id($this->link); } public function get_error() { return mysql_error($this->link); } } ?>