load();
use \SeinopSys\PostgresDb;
# Connect to the database
try {
// Postgres
$pdo = new PDO("pgsql:host=" . $_ENV['DB_HOST'] . ";dbname=" . $_ENV['DB_NAME'], $_ENV['DB_USER'], $_ENV['DB_PASS']);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db = new PostgresDb();
$db->setConnection($pdo);
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
// check recursivelly if the array has only empty strings
function is_response_empty($array)
{
foreach ($array as $value) {
if (is_array($value)) {
if (!is_response_empty($value)) {
return false;
}
} else {
if (!empty($value)) {
return false;
}
}
}
return true;
}
// SQL function
function query(string $sql, array $params = null, bool $single = true)
{
global $pdo;
try {
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
$response = $single ? $stmt->fetch(PDO::FETCH_ASSOC) : $stmt->fetchAll(PDO::FETCH_ASSOC);
return $response;
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
return false;
} finally {
$stmt->closeCursor();
$stmt = null;
}
}
function queryAll(string $sql, array $params = null)
{
return query($sql, $params, false);
}
function toSQLArray(array $array): string
{
return sprintf("{%s}", implode(", ", $array));
}