dbsettings = $dbsettings; $this->connect(); } private function connect() { $dsn = "mysql:host={$this->dbsettings['server']};dbname={$this->dbsettings['name']};charset=utf8"; try { $this->pdo = new PDO($dsn, $this->dbsettings['user'], $this->dbsettings['pass']); $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die("Connection to databasse failed."); } } public function doquery($table, $query, $params = []) { $query = str_replace("{{table}}", $this->dbsettings["prefix"] . "_" . $table, $query); $stmt = $this->pdo->prepare($query); $stmt->execute($params); $this->numqueries++; return $stmt; } public function checkUnique($table, $field, $value) { $query = "SELECT * from {{table}} where {{field}} = :fieldValue"; $query = str_replace("{{field}}", $field, $query); $stmt = $this->doquery($table, $query, ['fieldValue' => $value]); return $stmt->fetch(PDO::FETCH_ASSOC) != null; } public function getNumQueries() { return $this->numqueries; } public function getSecretWord() { return $this->dbsettings["secretword"]; } }