summaryrefslogtreecommitdiff
path: root/src/Database.php
diff options
context:
space:
mode:
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;
+ }
+}