Kyberia v2.0
[mirrors/Kyberia-bloodline.git] / inc / database.inc
CommitLineData
bc13d5d6 1<?php
e586807d
H
2/* This program is free software. It comes without any warranty, to
3 * the extent permitted by applicable law. You can redistribute it
4 * and/or modify it under the terms of the Do What The Fuck You Want
5 * To Public License, Version 2, as published by Sam Hocevar. See
6 * http://sam.zoy.org/wtfpl/COPYING for more details. */
bc13d5d6 7
e586807d 8require ("result.inc");
bc13d5d6
H
9
10class CLASS_DATABASE {
11
e586807d
H
12var $Database="";
13var $User="";
14var $Password="";
15var $Url="";
bc13d5d6
H
16
17var $_linkId = false;
18var $_url = "";
19var $_user = "";
20var $_password = "";
e586807d 21var $_database = "";
bc13d5d6 22var $_halt_on_error = true;
e586807d
H
23
24function CLASS_DATABASE ($database=DB_DATABASE,$user=DB_USER,$password=DB_PASS,$url=DB_HOST) {
25 $this->Database=$database;
26 $this->Password=$password;
27 $this->User=$user;
28 $this->Url=$url;
29 $this->connect($this->Url,$this->User,$this->Password,$this->Database);
bc13d5d6
H
30}
31
32function connect($url, $user, $password, $database, $halt_on_error = true) {
e586807d 33 global $error;
bc13d5d6
H
34 $this->_halt_on_error = $halt_on_error;
35 if ($this->_linkId == false) {
e586807d 36
bc13d5d6
H
37 $this->_linkId=mysql_connect($url, $user, $password);
38 if ($this->_linkId == false) {
e586807d
H
39 $error='chcipla databaza';
40 $this->exception($error);
bc13d5d6 41 return false;
e586807d 42 //die();
bc13d5d6
H
43 }
44 $this->_url=$url;
45 $this->_user=$user;
46 $this->_password=$password;
e586807d 47
bc13d5d6
H
48 if ($this->_linkId == false || mysql_select_db($database, $this->_linkId) == false) {
49 $this->exception("1Database failed.");
50 return false;
51 die();
52 }
53 $this->_database=$database;
54 }
55 return true;
56}
57
58function closeMysql() {
59 mysql_close($this->_linkId);
60}
61
62function query($sql) {
e586807d
H
63
64
65
66 $this->_queryId = mysql_query($sql,$this->_linkId);
67
68 if ($_SESSION['user_id']==548) {
69 echo $sql;
70 global $timer_start;
71 echo "<BR>".SubStr((Time()+SubStr(MicroTime(),0,8)-$timer_start),0,7);
72 }
73
bc13d5d6
H
74 if ($this->_queryId == false) {
75 $this->exception("query failed ::$sql::");
76 }
77
78 return new result($this->_queryId, $sql);
79 }
80
81
82function executequery($sql) {
83 return($this->query($sql));
84}
85
e586807d
H
86function executetransaction($queries) {
87 $this->executequery("set autocommit=0");
88 if (is_array($queries)) {
89 foreach ($queries as $query) {
90 $this->executequery($query);
91 }
92 }
93 $this->executequery("commit");
94 $this->executequery("set autocommit=1");
95}
96
bc13d5d6
H
97function executeupdate($sql) {
98 return($this->update($sql));
99}
100
101function update($sql) {
102
103 $this->_queryId = @mysql_db_query($this->_database,$sql,$this->_linkId);
104 if ($this->_queryId == false) {
105 $this->exception("update failed.");
106 }
107 $rows=@mysql_affected_rows($this->_linkId);
108 return($rows);
109}
110
111function getLastInsertId() {
112 return(@mysql_insert_id($this->_linkId));
113}
114
115function exception($errorMessage) {
116 echo "<!-- ";
117 echo @mysql_error($this->_linkId)," (",@mysql_errno($this->_linkId),")";
118 echo "-->";
119 if ($this->_halt_on_error) {
120 die("<pre>".$errorMessage."</pre>");
121 } else {
122 echo $errorMessage."<br>";
123 return false;
124 }
125 }
126}
127?>
This page took 0.222736 seconds and 4 git commands to generate.