39 lines
No EOL
1.1 KiB
PHP
39 lines
No EOL
1.1 KiB
PHP
<?php
|
|
|
|
class Database {
|
|
private $pdo;
|
|
private $numqueries = 0;
|
|
private $dbsettings;
|
|
|
|
public function __construct() {
|
|
include(PATH_ROOT.'config.php');
|
|
$this->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 getNumQueries() {
|
|
return $this->numqueries;
|
|
}
|
|
|
|
public function getSecretWord() {
|
|
return $this->dbsettings["secretword"];
|
|
}
|
|
} |