diff options
author | cflip <36554078+cflip@users.noreply.github.com> | 2021-04-23 18:43:12 -0600 |
---|---|---|
committer | cflip <36554078+cflip@users.noreply.github.com> | 2021-04-23 18:43:12 -0600 |
commit | 6c9369ad85f2fb3dc61234b54db7e7079cdc0c4e (patch) | |
tree | 0275f6627930f6edff72b0ebba7813b746d3c228 /includes/Database.php | |
parent | f469e37a0a5d90350a6abd6a0c7b92b019f377e1 (diff) |
Refactoring part 1
Diffstat (limited to 'includes/Database.php')
-rw-r--r-- | includes/Database.php | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/includes/Database.php b/includes/Database.php new file mode 100644 index 0000000..3308e4c --- /dev/null +++ b/includes/Database.php @@ -0,0 +1,37 @@ +<?php + +class Database +{ + private static $instance = null; + private $sql_connection; + + private function __construct() + { + $config = parse_ini_file('config.ini', true)['mysql_credentials']; + + $db_server = $config['server']; + $db_user = $config['user']; + $db_pass = $config['password']; + $db_database = $config['database']; + + $this->sql_connection = mysqli_connect($db_server, $db_user, $db_pass, $db_database); + + if (!$this->sql_connection) { + trigger_error("Database connection error: " . mysqli_connect_error()); + } + } + + public static function get(): ?Database + { + if (self::$instance == null) { + self::$instance = new Database(); + } + + return self::$instance; + } + + public function query(string $sql) + { + mysqli_query($this->sql_connection, $sql); + } +}
\ No newline at end of file |