Connection = mysqli_connect($Server, $User, $Pass); if ($Database != null) {mysqli_select_db($this->Connection, $Database);} $this->query("CREATE TABLE IF NOT EXISTS _datastore (id VARCHAR(64) PRIMARY KEY, data TEXT)"); } public function id($Len = 36) { $Chars = str_shuffle("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); $Res = ""; for ($i = 0; $i < $Len; ++$i) {$Res = $Res.substr($Chars, rand(0, strlen($Chars) - 1), 1);} return $Res; } public function close() {mysqli_close($this->Connection);} public function ping() {return mysqli_ping($this->Connection);} public function query($Query, $Values = array()) { $Whitespaces = array(" ", "\t", "\n", "\r", "\0", "\x0B"); $ReplaceData = array(array(), array()); $StartOffset = 1; if (stripos($Query, "{0}") !== false) {$StartOffset = 0;} foreach($Values as $Key => $Value) { if (is_numeric($Key)) {$Key = $Key + $StartOffset;} $InQueryPos = stripos($Query, "{".$Key."}"); if ($InQueryPos !== false) { $LeadingChr = ""; for ($u = $InQueryPos - 1; $u > -1; $u = $u - 1) { if (!in_array(substr($Query, $u, 1), $Whitespaces)) { if (substr($Query, $u, 1) != "'") {$LeadingChr = "'";} break; } } $FollowingChr = ""; for ($u = $InQueryPos + strlen("{".$Key."}"); $u < strlen($Query); $u = $u + 1) { if (!in_array(substr($Query, $u, 1), $Whitespaces)) { if (substr($Query, $u, 1) != "'") {$FollowingChr = "'";} break; } } if ($InQueryPos + strlen("{".$Key."}") >= strlen($Query)) {$FollowingChr = "'";} $ReplaceData[0][] = "{".$Key."}"; $ReplaceData[1][] = $LeadingChr.mysqli_real_escape_string($this->Connection, $Value).$FollowingChr; } } $Query = str_ireplace($ReplaceData[0], $ReplaceData[1], $Query); $MysqlRes = new MySqlResult(mysqli_query($this->Connection, $Query), $Query, $this->Connection); return $MysqlRes; } public function setting($Name, $Value = null) { $Name = strtoupper($Name); if (!isset($Value)) { $Res = $this->query("SELECT * FROM _datastore WHERE id = '{0}' LIMIT 1", array($Name)); if ($Res->error() == "") { $DataRes = $Res->fetch(); if (isset($DataRes)) {return $DataRes[data];} return false; } return null; } else {$this->query("REPLACE INTO _datastore (id, data)VALUES('{0}', '{1}')", array($Name, $Value));} } } class MySqlResult { private $MySqlRes; private $Error; private $QueryString; public function __construct($QueryRes, $QueryStr, $Connection) { $this->MySqlRes = $QueryRes; $this->Error = mysqli_error($Connection); $this->QueryString = $QueryStr; } public function fetch() {return mysqli_fetch_array($this->MySqlRes);} public function error() {return $this->Error;} public function querystring() {return $this->QueryString;} public function numrows() {return mysqli_num_rows($this->MySqlRes);} } ?>