diff options
author | Daniel Weipert <git@mail.dweipert.de> | 2025-08-19 15:50:42 +0200 |
---|---|---|
committer | Daniel Weipert <git@mail.dweipert.de> | 2025-08-19 16:11:52 +0200 |
commit | d08f4c83470c25d35d24594bd73e4effdac191a0 (patch) | |
tree | 8320e4d0750776891fa5680ce5904de714128fce /src/Database.php | |
parent | a0ad1f5e7fac279b33ea09ca0e347cd7d02cd8ec (diff) |
database migrations and models for users, devices, tokens
Diffstat (limited to 'src/Database.php')
-rw-r--r-- | src/Database.php | 36 |
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; + } +} |