51ff3226 |
1 | <?php |
2 | require ("result.inc"); |
3 | |
4 | class CLASS_DATABASE { |
5 | |
6 | /* |
7 | var $Database=""; |
8 | var $User=""; |
9 | var $Password=""; |
10 | var $Url=""; |
11 | */ |
12 | |
13 | var $Master = true; |
14 | var $_linkId = false; |
15 | var $_url = ""; |
16 | var $_user = ""; |
17 | var $_password = ""; |
18 | var $_database = ""; |
19 | var $_halt_on_error = true; |
20 | |
21 | /* |
22 | function CLASS_DATABASE ($database=DB_DATABASE,$user=DB_USER,$password=DB_PASS,$url=DB_HOST) { |
23 | $this->Database=$database; |
24 | $this->Password=$password; |
25 | $this->User=$user; |
26 | $this->Url=$url; |
27 | */ |
28 | |
29 | function CLASS_DATABASE() { |
30 | $this->connect(DB_HOST,DB_USER,DB_PASS,DB_DATABASE); |
31 | } |
32 | |
33 | function connect($url,$user,$password,$database, $halt_on_error = true) { |
34 | global $error; |
35 | $this->_halt_on_error = $halt_on_error; |
36 | if ($this->_linkId == false) { |
37 | $this->_linkId=mysql_connect($url, $user, $password); |
38 | if ($this->_linkId == false) { |
39 | $error='chcipla databaza'; |
40 | $this->exception($error); |
41 | return false; |
42 | //die(); |
43 | }// else { |
44 | // mysql_query('set character set utf8'); |
45 | //} |
46 | $this->_url=$url; |
47 | $this->_user=$user; |
48 | $this->_password=$password; |
49 | |
50 | if ($this->_linkId == false || mysql_select_db($database, $this->_linkId) == false) { |
51 | $this->exception("1Database failed."); |
52 | return false; |
53 | die(); |
54 | } |
55 | $this->_database=$database; |
56 | } |
57 | return true; |
58 | } |
59 | |
60 | function closeMysql() { |
61 | mysql_close($this->_linkId); |
62 | } |
63 | |
64 | function query($sql) { |
65 | |
a3be90c6 |
66 | $this->_linkId = false; |
67 | $this->connect(DB_HOST,DB_USER,DB_PASS,DB_DATABASE); |
68 | $this->Master = true; |
51ff3226 |
69 | |
70 | $this->_queryId = mysql_query($sql,$this->_linkId); |
71 | |
a3be90c6 |
72 | if (isset($_SESSION['debugging'])) { |
51ff3226 |
73 | echo $sql; |
74 | global $timer_start; |
75 | echo "<BR>".SubStr((Time()+SubStr(MicroTime(),0,8)-$timer_start),0,7); |
76 | } |
77 | |
78 | if ($this->_queryId == false) { |
79 | $this->exception("query failed ::$sql::"); |
80 | } |
81 | |
82 | return new result($this->_queryId, $sql); |
83 | } |
84 | |
85 | |
86 | function executequery($sql) { |
87 | return($this->query($sql)); |
88 | } |
89 | |
90 | function executetransaction($queries) { |
91 | $this->executequery("set autocommit=0"); |
92 | if (is_array($queries)) { |
93 | foreach ($queries as $query) { |
94 | $this->executequery($query); |
95 | } |
96 | } |
97 | $this->executequery("commit"); |
98 | $this->executequery("set autocommit=1"); |
99 | } |
100 | |
101 | function executeupdate($sql) { |
102 | return($this->update($sql)); |
103 | } |
104 | |
105 | function update($sql) { |
106 | if (!$this->Master) { |
107 | $this->_linkId = false; |
108 | $this->connect(DB_HOST,DB_USER,DB_PASS,DB_DATABASE); |
109 | $this->Master = true; |
110 | } |
111 | |
112 | $this->_queryId = @mysql_db_query($this->_database,$sql,$this->_linkId); |
113 | if ($this->_queryId == false) { |
114 | $this->exception("update failed."); |
115 | } |
116 | $rows=@mysql_affected_rows($this->_linkId); |
117 | return($rows); |
118 | } |
119 | |
120 | function getLastInsertId() { |
121 | return(@mysql_insert_id($this->_linkId)); |
122 | } |
123 | |
124 | function exception($errorMessage) { |
125 | |
126 | echo "<!-- "; |
127 | echo @mysql_error($this->_linkId)," (",@mysql_errno($this->_linkId),")"; |
128 | echo "-->"; |
129 | |
130 | if ($this->_halt_on_error) { |
131 | die("<pre>".$errorMessage."</pre>"); |
132 | } else { |
133 | echo $errorMessage."<br>"; |
134 | return false; |
135 | } |
136 | } |
137 | } |
138 | ?> |