Guest User

Untitled

a guest
Oct 28th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.20 KB | None | 0 0
  1. <?php
  2.  
  3. /*
  4. * (C) 2007 Daniel Moss (Acidic32)
  5. * Created for Intvag/VFSN.net
  6. *
  7. * DO NOT REMOVE THIS NOTICE
  8. */
  9.  
  10. class Database {
  11.  
  12.  
  13. var $server = "localhost"; //database server
  14. var $user = "user"; //database login name
  15. var $pass = "pass"; //database login password
  16. var $database = "db"; //database name
  17. var $pre = ""; //table prefix
  18.  
  19. #######################
  20. //internal info
  21. var $record = array();
  22.  
  23. var $error = "";
  24. var $errno = 0;
  25.  
  26. //table name affected by SQL query
  27. var $field_table= "";
  28.  
  29. //number of rows affected by SQL query
  30. var $affected_rows = 0;
  31.  
  32. var $link_id = 0;
  33. var $query_id = 0;
  34.  
  35.  
  36. #-#############################################
  37. # desc: constructor
  38. function Database($server, $user, $pass, $database, $pre=''){
  39. $this->server=$server;
  40. $this->user=$user;
  41. $this->pass=$pass;
  42. $this->database=$database;
  43. $this->pre=$pre;
  44. }#-#constructor()
  45.  
  46.  
  47. #-#############################################
  48. # desc: connect and select database using vars above
  49.  
  50. # Param: $new_link can force connect() to open a new link, even if mysql_connect() was called before with the same parameters
  51. function connect($new_link=false) {
  52. $this->link_id=@mysql_connect($this->server,$this->user,$this->pass,$new_link);
  53.  
  54. if (!$this->link_id) {//open failed
  55. $this->oops("Could not connect to server: <b>$this->server</b>.");
  56. }
  57.  
  58. if(!@mysql_select_db($this->database, $this->link_id)) {//no database
  59. $this->oops("Could not open database: <b>$this->database</b>.");
  60. }
  61.  
  62. // unset the data so it can't be dumped
  63. $this->server='';
  64. $this->user='';
  65. $this->pass='';
  66. $this->database='';
  67. }#-#connect()
  68.  
  69.  
  70. #-#############################################
  71. # desc: close the connection
  72. function close() {
  73. if(!mysql_close($this->link_id)){
  74. $this->oops("Connection close failed.");
  75. }
  76. }#-#close()
  77.  
  78. #-#############################################
  79. # Desc: escapes characters to be mysql ready
  80. # Param: string
  81. # returns: string
  82. function escape($string) {
  83. if(get_magic_quotes_gpc()) $string = stripslashes($string);
  84. return mysql_real_escape_string($string);
  85. }#-#escape()
  86.  
  87. #-#############################################
  88. # Desc: escapes characters to be mysql ready
  89.  
  90. # Param: string
  91. # returns: string
  92. function post_escape($string) {
  93. return mysql_real_escape_string(strip_tags(trim($string)));
  94. }#-#post_escape()
  95.  
  96. #-#########################################
  97. # Basic Routines
  98. #-#########################################
  99.  
  100.  
  101.  
  102. #-#############################################
  103. # Desc: executes SQL query to an open connection
  104. # Param: (MySQL query) to execute
  105. # returns: (query_id) for fetching results etc
  106. function query($sql) {
  107. // do query
  108. $this->query_id = @mysql_query($sql, $this->link_id);
  109.  
  110. if (!$this->query_id) {
  111. $this->oops("<b>MySQL Query fail:</b> $sql");
  112. }
  113.  
  114. $this->affected_rows = @mysql_affected_rows();
  115.  
  116. return $this->query_id;
  117. }#-#query()
  118.  
  119. #-#############################################
  120. # desc: fetches and returns results one line at a time
  121. # param: query_id for mysql run. if none specified, last used
  122. # return: (array) fetched record(s)
  123. function fetch_array($query_id=-1) {
  124. // retrieve row
  125. if ($query_id!=-1) {
  126. $this->query_id=$query_id;
  127. }
  128.  
  129. if (isset($this->query_id)) {
  130. $this->record = @mysql_fetch_assoc($this->query_id);
  131. }else{
  132. $this->oops("Invalid query_id: <b>$this->query_id</b>. Records could not be fetched.");
  133. }
  134.  
  135. // unescape records
  136. if($this->record){
  137. $this->record=array_map("stripslashes", $this->record);
  138. //foreach($this->record as $key=>$val) {
  139. // $this->record[$key]=stripslashes($val);
  140. //}
  141. }
  142. return $this->record;
  143. }#-#fetch_array()
  144.  
  145. #-#############################################
  146. # desc: does an update query with an array
  147. # param: table (no prefix), assoc array with data (doesn't need escaped), where condition
  148. # returns: (query_id) for fetching results etc
  149. function query_update($table, $data, $where='1') {
  150. $q="UPDATE `".$this->pre.$table."` SET ";
  151.  
  152. foreach($data as $key=>$val) {
  153. if(strtolower($val)=='null') $q.= "`$key` = NULL, ";
  154. elseif(strtolower($val)=='now()') $q.= "`$key` = NOW(), ";
  155. else $q.= "`$key`='".$this->escape($val)."', ";
  156. }
  157.  
  158. $q = rtrim($q, ', ') . ' WHERE '.$where.';';
  159.  
  160. return $this->query($q);
  161. }#-#query_update()
  162.  
  163.  
  164. #-#############################################
  165. # desc: does an insert query with an array
  166. # param: table (no prefix), assoc array with data
  167. # returns: id of inserted record, false if error
  168. function query_insert($table, $data) {
  169. $q="INSERT INTO `".$this->pre.$table."` ";
  170. $v=''; $n='';
  171.  
  172. foreach($data as $key=>$val) {
  173. $n.="`$key`, ";
  174. if(strtolower($val)=='null') $v.="NULL, ";
  175. elseif(strtolower($val)=='now()') $v.="NOW(), ";
  176. else $v.= "'".$this->escape($val)."', ";
  177. }
  178.  
  179. $q .= "(". rtrim($n, ', ') .") VALUES (". rtrim($v, ', ') .");";
  180.  
  181. if($this->query($q)){
  182. //$this->free_result();
  183. return mysql_insert_id();
  184. }
  185. else return false;
  186.  
  187. }#-#query_insert()
  188.  
  189.  
  190.  
  191. #-#########################################
  192. # INTVAG Routines
  193. #-########################################
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201. #-#############################################
  202. # desc: throw an error message
  203. # param: [optional] any custom error to display
  204. function oops($msg='') {
  205. if($this->link_id>0){
  206. $this->error=mysql_error($this->link_id);
  207.  
  208. $this->errno=mysql_errno($this->link_id);
  209. }
  210. else{
  211. $this->error=mysql_error();
  212. $this->errno=mysql_errno();
  213. }
  214. ?>
  215. <table align="center" border="1" cellspacing="0" style="background:white;color:black;width:80%;">
  216. <tr><th colspan=2>Database Error</th></tr>
  217. <tr><td align="right" valign="top">Message:</td><td><?php echo $msg; ?></td></tr>
  218. <?php if(strlen($this->error)>0) echo '<tr><td align="right" valign="top" nowrap>MySQL Error:</td><td>'.$this->error.'</td></tr>'; ?>
  219. <tr><td align="right">Date:</td><td><?php echo date("l, F j, Y \a\\t g:i:s A"); ?></td></tr>
  220. <tr><td align="right">Script:</td><td><a href="<?php echo @$_SERVER['REQUEST_URI']; ?>"><?php echo @$_SERVER['REQUEST_URI'];
  221. ?></a></td></tr>
  222. <?php if(strlen(@$_SERVER['HTTP_REFERER'])>0) echo '<tr><td align="right">Referer:</td><td><a
  223. href="'.@$_SERVER['HTTP_REFERER'].'">'.@$_SERVER['HTTP_REFERER'].'</a></td></tr>'; ?>
  224. </table>
  225. <?php
  226. }#-#oops()
  227.  
  228.  
  229. }//CLASS Database
  230. ###################################################################################################
  231.  
  232.  
  233.  
  234. ?>
Add Comment
Please, Sign In to add comment