Webpage for Games
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.1 KiB

<?php
require_once "dotenv.php";
class MySQLConnection {
private int $port;
private string $host;
private string $user;
private string $pass;
private string $dbName = "website";
private mysqli $mysqli;
public function __construct() {
$this->host = 'localhost';
$this->port = intval(getenv('MYSQL_PORT'));
$this->user = getenv('MYSQL_USER');
$this->pass = getenv('MYSQL_PASSWORD');
$this->createConn();
}
private function createConn(): void {
$this->mysqli = new mysqli($this->host . ":" . $this->port, $this->user, $this->pass, $this->dbName);
}
public function query($sql): mysqli_result|bool {
return $this->mysqli->query($sql);
}
public function prepare($sql): bool|mysqli_stmt {
return $this->mysqli->prepare($sql);
}
public function changeDB($dbName): void {
$this->dbName = $dbName;
$this->mysqli->select_db($dbName);
}
public function escape(string $string): string{
return $this->mysqli->real_escape_string($string);
}
public function __destruct() {
$this->mysqli->close();
}
}