1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26-27--28 29---30 31--32 33 34 35 36 37 38-39 40 41 42 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 5, 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 11 9 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148-149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168-169 |
<?php/** * Database class * * @version: 2.2 * @revised: May 2007 * **/class Database {var $host; var $name; var $user; var $pass; var $prefix; var $linkId; function Database ($mysql) {foreach ($mysql as $k => $v) {$this-> $k = $v;} if (Strlen ($this->prefix) >0 &&am P substr ($this->prefix,-1)!== "_") $prefix. = "_"; $this->prefix = $prefix; function Getlastid () {$id = Mysql_fetch_row (mysql_query ("Select last_insert_id ()", $this->linkid)); return $id [0]; The function getpossiblevalues ($tableA, $whereA) {if (GetType ($tableA) = = "Array") {$table = ""; foreach ($tableA as $t) {$table. = $this->prefix. $t. ",";} $table = substr ($table, 0,-2); else $table = $this->prefix. $tableA; if (GetType ($whereA)!= "array") {$whereA = array ($whereA);} $return = Array (); foreach ($whereA as $where) {$sql = mysql_query ("Show COLUMNS from". $table. " Like '% '. $where. " %'"); while ($arr = Mysql_fetch_array ($sql)) {if (Strpos ($arr [' Type '], ' enum ') ===0) {$vals = SubsTR ($arr [' Type '], 5,-1); else {$vals = substr ($arr [' Type '], 4,-1);} $vals = Str_replace ("'", "", $vals); $vals = Explode (",", $vals); $i = 1; foreach ($vals as $val) {$return [$arr [' field ']][$i + +] = $val; $return [$arr [' Field ']][' default '] = $arr [' Default ']; if ($arr [' Null ']!= "NO") $return [$arr [' Field ']][0] = Null; } return $return; function Connect () {$this->linkid = mysql_connect ($this->host, $this->user, $this->pass); if (! $this-> LinkId) {return false;} if (mysql_select_db ($this->name, $this->linkid)) return true; Mysql_close ($this->linkid); return false; function Runselect ($tables, $where = "1", $fieldsA = "*", $order = False, $limit = False, $offset = False, $group = Fals e) {if (GetType ($tables) = = "Array") {$table = ""; foreach ($tables as $t) {$table. = $this->prefix. $t. ",";} $table = substr ($table, 0,-2); else $table = $this->prefix. $tables; if (GetType ($fieldsA) = = "Array") {$fields = ""; $keys = Array_keys ($fieldsA); if ($keys [0]!= ' 0 ') {foreach ($keys as $key) {$fields. = $key. As '. $fieldsA [$key]. ', '; } else {foreach ($fieldsA as $field) {$fields. = $field. ', ';}} $fields = substr ($fields, 0,-2); else $fields = $fieldsA; $query = "Select". $fields. " From ". $table." WHERE ". $where. ($order!== false?) Order BY ". $order:($group!==false?" GROUP by ". $group:" ")). ($limit!== false?) LIMIT ". $limit:" "). ($offset!== false?) OFFSET ". $offset:" "); Return mysql_query ($query, $this->linkid); The function runupdate ($table, $valuesA, $where = "1") {if (GetType ($valuesA) = = "Array") {$fields = ""; $values = ""; $keys = Array_keys ($valuesA); foreach ($keys as $key) {if ($valuesA [$key]!== NULL) $values. = "'. $key." ' = ' ". Str_replace (" ",", ", $valuesA [$key])." ', '; else $values. = $key. " =null, "; $fields = substr ($fields, 0,-1); $values = substr ($values, 0,-1); else $values = $valuesA; $query = "UPDATE". $this->prefix. $table. " SET ". $values." WHERE ". $where; if (mysql_query ($query, $this->linkid)) reTurn mysql_affected_rows ($this->linkid); return false; The function Rundelete ($table, $where = "1") {if mysql_query ("DELETE from". $this->prefix. $table. " WHERE ". $where, $this->linkid)) return mysql_affected_rows ($this->linkid); return false; The function Runinsert ($table, $valuesA, $onDuplicate = NULL) {if (GetType ($valuesA) = = "Array") {$fields = ""; $values = ""; $keys = Array_keys ($valuesA); foreach ($keys as $key) {$fields. = "'. $key." `, "; $values. = ($valuesA [$key]===null?] NULL, ":" ". Str_replace (" ",", ", $valuesA [$key])." ', '); $fields = substr ($fields, 0,-2); $values = substr ($values, 0,-2); } $onDup = ""; if ($onDuplicate!= NULL) {$onDup = "on DUPLICATE KEY UPDATE"; if (GetType ($onDuplicate) = = "Array") {$keys = Array_keys ($onDuplicate); foreach ($keys as $key) {$onDup. = '. $key. ' `='. ($onDuplicate [$key]===null?] NULL, ":" ". Str_replace (" ",", ", $onDuplicate [$key])." ', '); $onDup = substr ($onDup, 0,-2); else $onDup. = $onDuplicate; } $query = "INSERT INTO ". $this->prefix. $table. ($fields!==null?) (". $fields.") ":" "." VALUES (". $values."). $onDup; if (mysql_query ($query, $this->linkid)) return mysql_affected_rows ($this->linkid); return false; The function Getcells ($table) {$query = "show COLUMNS from". $table. " `"; $fields = mysql_query ($query, $this->linkid) or Die (' Hej '); return $fields; The function Translatecellname ($cellName) {$sql = $this->runselect ("Mysql_cell_translation", "Mysql_name = '". $ Cellname. "'"); $row = Mysql_fetch_assoc ($sql); return $row [' Human_name ']? $row [' Human_name ']: ' <span class= ' faded ' >['. $cellName. ' </span> '; function GetError () {return mysql_error ($this->linkid);} function Close () {mysql_close ($this->linkid);} ?> |