| webmaster@0 | 1 <?php | 
| webmaster@0 | 2 class DataAccess { | 
| webmaster@0 | 3   var $host; | 
| webmaster@0 | 4   var $user; | 
| webmaster@0 | 5   var $pass; | 
| webmaster@0 | 6   var $db; | 
| webmaster@54 | 7   var $link; | 
| webmaster@0 | 8   var $connOpen; | 
| webmaster@53 | 9   var $results; | 
| webmaster@53 | 10   var $queries; | 
| webmaster@0 | 11   var $_nbQueries; | 
| webmaster@68 | 12   var $_inError; | 
| webmaster@0 | 13 | 
| webmaster@53 | 14   function DataAccess($host=DB_HOST, $user=DB_USER, $pass=DB_PASSWORD, $db=DB_NAME) { | 
| webmaster@0 | 15    $this->host=$host; | 
| webmaster@0 | 16    $this->user=$user; | 
| webmaster@0 | 17    $this->pass=$pass; | 
| webmaster@53 | 18    $this->db = $db; | 
| webmaster@53 | 19    $this->connOpen = 0; | 
| webmaster@0 | 20    $this->_nbQueries = 0; | 
| webmaster@53 | 21    $this->queries = array(); | 
| webmaster@53 | 22    $this->results = array(); | 
| webmaster@0 | 23    $this->Connect(); | 
| webmaster@0 | 24  } | 
| webmaster@0 | 25 | 
| webmaster@53 | 26   function Connect() { | 
| webmaster@53 | 27    if($this->connOpen == 0) { | 
| webmaster@54 | 28      $this->link = mysql_connect($this->host, $this->user, $this->pass); | 
| webmaster@68 | 29      if($this->link === false) | 
| webmaster@68 | 30      	$this->_inError = true; | 
| webmaster@68 | 31      else | 
| webmaster@68 | 32      	$this->_inError = !mysql_select_db($this->db, $this->link); | 
| webmaster@53 | 33    } | 
| webmaster@53 | 34    $this->connOpen++; | 
| webmaster@0 | 35   } | 
| webmaster@0 | 36 | 
| webmaster@0 | 37   function Query($query, $id=0) { | 
| webmaster@53 | 38    $this->_nbQueries++; | 
| webmaster@53 | 39    $this->queries[$id]=$query; | 
| webmaster@53 | 40    $this->Connect(); | 
| webmaster@54 | 41    $this->results[$id]=mysql_query($this->queries[$id], $this->link); | 
| webmaster@53 | 42    $this->Close(); | 
| webmaster@53 | 43    if(@$num_rows=mysql_num_rows($this->results[$id])) | 
| webmaster@0 | 44 	return $num_rows; | 
| webmaster@53 | 45    return 0; | 
| webmaster@0 | 46   } | 
| webmaster@0 | 47 | 
| webmaster@0 | 48   function debugQuery($query, $id=0) { | 
| webmaster@0 | 49   $rv = $this->Query($query, $id); | 
| webmaster@0 | 50   if(mysql_errno() !== 0) | 
| webmaster@0 | 51 	echo("<span class='menu'>\n Query : {$query}<br />\n MySQL Answer : " . mysql_error() . "</span>"); | 
| webmaster@0 | 52   return $rv; | 
| webmaster@0 | 53   } | 
| webmaster@0 | 54 | 
| webmaster@0 | 55   function GetRow($id=0) { | 
| webmaster@53 | 56    if(@$row=mysql_fetch_array($this->results[$id])) { | 
| webmaster@0 | 57     return $row; | 
| webmaster@0 | 58    } | 
| webmaster@0 | 59    return 0; | 
| webmaster@0 | 60   } | 
| webmaster@0 | 61 | 
| webmaster@0 | 62   function Close() { | 
| webmaster@53 | 63    $this->connOpen--; | 
| webmaster@53 | 64    if($this->connOpen == 0) { | 
| webmaster@54 | 65     mysql_close($this->link); | 
| webmaster@53 | 66    } | 
| webmaster@0 | 67   } | 
| webmaster@0 | 68 | 
| webmaster@0 | 69   function getNbQueries() { | 
| webmaster@0 | 70 	return $this->_nbQueries; | 
| webmaster@0 | 71   } | 
| webmaster@0 | 72 | 
| webmaster@0 | 73   function formatDate($timestamp, $decallage=2, $pattern='d/m/Y H:i:s') { | 
| webmaster@0 | 74    return gmdate($pattern, $timestamp + $decallage * 3600); | 
| webmaster@0 | 75   } | 
| webmaster@68 | 76 | 
| webmaster@68 | 77   function isInError() | 
| webmaster@68 | 78   { | 
| webmaster@68 | 79     return $this->_inError; | 
| webmaster@68 | 80   } | 
| webmaster@0 | 81 } | 
| webmaster@0 | 82 ?> |