From ad1806aa17dfeeb755525251341f1ef10e9c9106 Mon Sep 17 00:00:00 2001 From: alifaisyahh Date: Thu, 11 Jun 2026 09:42:00 +0700 Subject: [PATCH] fix: ganti koneksi PDO ke MySQLi dan perbaiki DB_HOST Coolify --- Web GIS Layer/config.php | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/Web GIS Layer/config.php b/Web GIS Layer/config.php index bdf31b5..7419c69 100644 --- a/Web GIS Layer/config.php +++ b/Web GIS Layer/config.php @@ -5,7 +5,6 @@ $port = getenv('DB_PORT') ?: 3306; $db = getenv('DB_NAME') ?: 'default'; $user = getenv('DB_USER') ?: 'mysql'; $pass = getenv('DB_PASS') ?: 'tg9lvPlr4hgUhgtT7aPq9XelkCEvvMGtsoV8eB4dD5FAkz891PwkJT340xmaEWxL'; -$charset = 'utf8mb4'; // Direktori upload foto laporan define('UPLOAD_DIR', __DIR__ . '/uploads/'); @@ -15,30 +14,22 @@ if (session_status() === PHP_SESSION_NONE) { session_start(); } -// Koneksi PDO -try { - $pdo = new PDO( - "mysql:host={$host};port={$port};dbname={$db};charset={$charset}", - $user, - $pass, - [ - PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, - PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, - PDO::ATTR_EMULATE_PREPARES => false, - PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false, - ] - ); -} catch (PDOException $e) { +// Koneksi MySQLi +$conn = new mysqli($host, $user, $pass, $db, (int)$port); + +if ($conn->connect_error) { http_response_code(500); header('Content-Type: application/json; charset=utf-8'); echo json_encode([ 'success' => false, 'data' => null, - 'message' => 'Koneksi database gagal: ' . $e->getMessage() + 'message' => 'Koneksi database gagal: ' . $conn->connect_error ]); exit; } +$conn->set_charset('utf8mb4'); + /** * Sanitasi input string. */ @@ -46,3 +37,14 @@ function clean(string $value): string { return htmlspecialchars(strip_tags(trim($value))); } + +/** + * Kirim respon JSON lalu hentikan eksekusi. + */ +function jsonResponse(array $data, int $httpCode = 200): void +{ + http_response_code($httpCode); + header('Content-Type: application/json; charset=utf-8'); + echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); + exit; +}