PHP Code:
class datsql {
public static $connection;
public static $isConnected;
public static $cacheQuery;
public static $cachePrepare;
public static $pdoCount;
public static $count = 0;
public function reset($var) { $var = NULL; }
public function error($e, $cust) { if(isset($cust)) { print 'Error: '. $cust; } else { print 'Error: '. $e->getMessage(); } self::$isConnected = false; die(); }
public function __construct() {
global $dfHost, $dfUser, $dfPassword, $dfDatabase, $dfCustomPort;
try {
self::$connection = new PDO('mysql:host='.$dfHost.';dbname='.$dfDatabase.';', $dfUser, $dfPassword);
self::$isConnected = true;
} catch (PDOException $e) {
self::error($e);
}
}
public function update($table, $column, $value, $where, $is) {
if(empty($table) AND empty($column) AND empty($value)) { self::error(false, 'check {update}'); }
if(self::$isConnected) {
if(is_array($column) OR is_array($value)) {
if(is_array($column) AND is_array($value)) {
self::$cacheQuery = array();
foreach($column as $col) {
if($where) {
self::$cacheQuery[] = 'UPDATE '.$table.' SET '.htmlentities($col, ENT_QUOTES).'="'.htmlentities($value[self::$count]).'" WHERE '.$where.'="'.$is.'"';
} else {
self::error(false, 'illegal?'); // disabled
self::$cacheQuery[] = 'UPDATE '.$table.' SET '.htmlentities($col, ENT_QUOTES).'="'.htmlentities($value[self::$count]).'"';
}
self::$count++;
}
foreach(self::$cacheQuery as $key => $query) {
try {
self::$cachePrepare = self::$connection->prepare($query);
self::$cachePrepare->execute();
} catch (PDOException $e) {
self::error($e);
}
self::reset(self::$count);
self::reset(self::$cachePrepare);
self::reset(self::$cacheQuery);
}
} else {
if(is_array($value)) { self::error(false, 'good joke'); } elseif(is_array($column)) {
self::$cacheQuery = array();
foreach($column as $col) {
if($where) {
self::$cacheQuery[] = 'UPDATE '.$table.' SET '.htmlentities($col, ENT_QUOTES).'="'.$value.'" WHERE '.$where.'="'.$is.'"';
} else {
self::error(false, 'illegal?'); // disabled
self::$cacheQuery[] = 'UPDATE '.$table.' SET '.htmlentities($col, ENT_QUOTES).'="'.$value.'"';
}
}
foreach(self::$cacheQuery as $key => $query) {
try {
self::$cachePrepare = self::$connection->prepare($query);
self::$cachePrepare->execute();
} catch (PDOException $e) {
self::error($e);
}
self::reset(self::$cachePrepare);
self::reset(self::$cacheQuery);
}
} else { self::error(false, 'illegal?'); }
}
} else {
try {
self::$cacheQuery = 'UPDATE '.$table.' SET '.htmlentities($column, ENT_QUOTES).'="'.htmlentities($value, ENT_QUOTES).'" WHERE '.$where.'="'.$is.'"';
self::$cachePrepare = self::$connection->prepare(self::$cacheQuery);
self::$cachePrepare->execute();
self::reset(self::$cacheQuery);
self::reset(self::$cachePrepare);
} catch(PDOException $e) {
self::error($e);
}
}
}
}
}
Hallo,
Habe mal eine Frage ist die Update-Funktion unnötig in die länge gezogen bzw. kann man Sachen simpler machen oder ist es gar kompletter Bullshit?
Gruß






