produs-api/app/models/ReportsModel.php

43 lines
1.1 KiB
PHP

<?php
namespace App\models;
class ReportsModel
{
private $hostname;
private $username;
private $password;
private $database;
private static $connection = null;
public function __construct()
{
$this->hostname = $_ENV['DB_HOST'];
$this->username = $_ENV['DB_USER'];
$this->password = $_ENV['DB_PASSWORD'];
$this->database = $_ENV['DB'];
}
public function dbConnect()
{
if (self::$connection === null) {
try {
self::$connection = new \PDO(
'mysql:host=' . $this->hostname . ';' .
'dbname=' . $this->database . ';' .
'charset=utf8mb4',
$this->username,
$this->password
);
self::$connection->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
} catch (\PDOException $e) {
return json_encode(['error' => 'Erro na conexão com o banco ' . $e->getMessage()]);
}
}
return self::$connection;
}
}