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; |
franck@81
|
21 $this->_inError = false; |
webmaster@53
|
22 $this->queries = array(); |
webmaster@53
|
23 $this->results = array(); |
webmaster@0
|
24 $this->Connect(); |
webmaster@0
|
25 } |
webmaster@0
|
26 |
webmaster@53
|
27 function Connect() { |
webmaster@53
|
28 if($this->connOpen == 0) { |
franck@81
|
29 $this->link = mysqli_connect($this->host, $this->user, $this->pass, $this->db); |
webmaster@68
|
30 if($this->link === false) |
franck@81
|
31 $this->_inError = true; |
webmaster@68
|
32 else |
franck@81
|
33 mysqli_set_charset($this->link, 'utf8'); |
webmaster@53
|
34 } |
webmaster@53
|
35 $this->connOpen++; |
webmaster@0
|
36 } |
webmaster@0
|
37 |
webmaster@0
|
38 function Query($query, $id=0) { |
webmaster@53
|
39 $this->_nbQueries++; |
webmaster@53
|
40 $this->queries[$id]=$query; |
webmaster@53
|
41 $this->Connect(); |
franck@81
|
42 $this->results[$id]=mysqli_query($this->link, $this->queries[$id]); |
webmaster@53
|
43 $this->Close(); |
franck@81
|
44 if(@$num_rows=mysqli_num_rows($this->results[$id])) |
webmaster@0
|
45 return $num_rows; |
webmaster@53
|
46 return 0; |
webmaster@0
|
47 } |
webmaster@0
|
48 |
webmaster@0
|
49 function debugQuery($query, $id=0) { |
webmaster@0
|
50 $rv = $this->Query($query, $id); |
webmaster@0
|
51 if(mysql_errno() !== 0) |
webmaster@0
|
52 echo("<span class='menu'>\n Query : {$query}<br />\n MySQL Answer : " . mysql_error() . "</span>"); |
webmaster@0
|
53 return $rv; |
webmaster@0
|
54 } |
webmaster@0
|
55 |
webmaster@0
|
56 function GetRow($id=0) { |
franck@81
|
57 if(@$row=mysqli_fetch_array($this->results[$id])) { |
webmaster@0
|
58 return $row; |
webmaster@0
|
59 } |
webmaster@0
|
60 return 0; |
webmaster@0
|
61 } |
webmaster@0
|
62 |
webmaster@0
|
63 function Close() { |
webmaster@53
|
64 $this->connOpen--; |
webmaster@53
|
65 if($this->connOpen == 0) { |
franck@81
|
66 mysqli_close($this->link); |
webmaster@53
|
67 } |
webmaster@0
|
68 } |
webmaster@0
|
69 |
webmaster@0
|
70 function getNbQueries() { |
webmaster@0
|
71 return $this->_nbQueries; |
webmaster@0
|
72 } |
webmaster@0
|
73 |
webmaster@0
|
74 function formatDate($timestamp, $decallage=2, $pattern='d/m/Y H:i:s') { |
webmaster@0
|
75 return gmdate($pattern, $timestamp + $decallage * 3600); |
webmaster@0
|
76 } |
webmaster@68
|
77 |
webmaster@68
|
78 function isInError() |
webmaster@68
|
79 { |
webmaster@68
|
80 return $this->_inError; |
webmaster@68
|
81 } |
webmaster@0
|
82 } |
webmaster@0
|
83 ?> |