fix : error db tidak connect

This commit is contained in:
unknown
2026-06-09 17:54:45 +07:00
parent 28a7b04893
commit c33deeace9
2 changed files with 33 additions and 18 deletions
+10 -18
View File
@@ -1,33 +1,25 @@
<?php
/**
* Nama Berkas: koneksi.php
* Kegunaan: Menangani jembatan komunikasi antara skrip PHP dengan server basis data MySQL menggunakan PDO.
* Kegunaan: Menangani koneksi PDO dengan dukungan variabel lingkungan untuk lingkungan produksi.
*/
header("Content-Type: application/json");
$indeks_host = "127.0.0.1";
$nama_pengguna = "root";
$kata_sandi = "root";
$nama_database = "webgis_db";
// Membaca dari environment peladen, jika tidak ada, gunakan nilai bawaan (fallback) untuk lokal
$indeks_host = getenv('DB_HOST') ?: "127.0.0.1";
$port_db = getenv('DB_PORT') ?: "3306";
$nama_pengguna = getenv('DB_USER') ?: "root";
$kata_sandi = getenv('DB_PASS') ?: "root";
$nama_database = getenv('DB_NAME') ?: "webgis_db";
try {
/* * Membuka koneksi baru dengan penggerak PDO MySQL.
* Mengatur set karakter ke UTF-8 untuk mencegah kerusakan simbol geometri data spasial.
*/
$koneksi_pdo = new PDO("mysql:host=$indeks_host;dbname=$nama_database;charset=utf8", $nama_pengguna, $kata_sandi);
/* * Mengaktifkan sistem penanganan kesalahan otomatis tingkat industri.
* Parameter ATTR_ERRMODE set ke ERRMODE_EXCEPTION memaksa setiap kegagalan query menjadi sebuah Exception yang aman.
*/
$koneksi_pdo = new PDO("mysql:host=$indeks_host;port=$port_db;dbname=$nama_database;charset=utf8", $nama_pengguna, $kata_sandi);
$koneksi_pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $kesalahan_sistem) {
// Menghentikan proses secara aman dan mengembalikan pesan kegagalan terformat JSON
echo json_encode([
"status" => "error",
"message" => "Koneksi ke basis data gagal dilakukan: " . $kesalahan_sistem->getMessage()
"message" => "Koneksi basis data gagal: " . $kesalahan_sistem->getMessage()
]);
exit;
}
?>
?>