123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- require_once "{$_SERVER['DOCUMENT_ROOT']}/vendor/autoload.php";
- $dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
- $dotenv->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));
- }
|