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
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();
|
|
}
|
|
|
|
} |