summaryrefslogtreecommitdiff
path: root/includes/Database.php
diff options
context:
space:
mode:
authorcflip <36554078+cflip@users.noreply.github.com>2021-04-23 18:43:12 -0600
committercflip <36554078+cflip@users.noreply.github.com>2021-04-23 18:43:12 -0600
commit6c9369ad85f2fb3dc61234b54db7e7079cdc0c4e (patch)
tree0275f6627930f6edff72b0ebba7813b746d3c228 /includes/Database.php
parentf469e37a0a5d90350a6abd6a0c7b92b019f377e1 (diff)
Refactoring part 1
Diffstat (limited to 'includes/Database.php')
-rw-r--r--includes/Database.php37
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