summaryrefslogtreecommitdiff
path: root/src/Database.php
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2025-08-19 15:50:42 +0200
committerDaniel Weipert <git@mail.dweipert.de>2025-08-19 16:11:52 +0200
commitd08f4c83470c25d35d24594bd73e4effdac191a0 (patch)
tree8320e4d0750776891fa5680ce5904de714128fce /src/Database.php
parenta0ad1f5e7fac279b33ea09ca0e347cd7d02cd8ec (diff)
database migrations and models for users, devices, tokens
Diffstat (limited to 'src/Database.php')
-rw-r--r--src/Database.php36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/Database.php b/src/Database.php
new file mode 100644
index 0000000..3fff863
--- /dev/null
+++ b/src/Database.php
@@ -0,0 +1,36 @@
+<?php
+
+namespace App;
+
+use PDO;
+use PDOStatement;
+
+class Database
+{
+ use Singleton;
+
+ private \PDO $connection;
+
+ public function __construct()
+ {
+ #$driver = $_ENV['DB_DRIVER'] ?? 'pgsql';
+ $host = $_ENV['DB_HOST'] ?? 'localhost';
+ $port = $_ENV['DB_PORT'] ?? 5432;
+ $dbname = $_ENV['DB_NAME'];
+ $user = $_ENV['DB_USER'];
+ $password = $_ENV['DB_PASSWORD'];
+
+ $this->connection = new \PDO("pgsql:host=$host;port=$port;dbname=$dbname", $user, $password);
+ }
+
+ /**
+ * @param array<mixed> $parameters
+ */
+ public function query(string $query, array $parameters = []): \PDOStatement|false
+ {
+ $statement = $this->connection->prepare($query);
+ $statement->execute($parameters);
+
+ return $statement;
+ }
+}