33 lines
1.2 KiB
PHP
33 lines
1.2 KiB
PHP
<?php
|
|
/**
|
|
* Nama Berkas: koneksi.php
|
|
* Kegunaan: Menangani jembatan komunikasi antara skrip PHP dengan server basis data MySQL menggunakan PDO.
|
|
*/
|
|
|
|
header("Content-Type: application/json");
|
|
|
|
$indeks_host = "127.0.0.1";
|
|
$nama_pengguna = "root";
|
|
$kata_sandi = "root";
|
|
$nama_database = "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->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()
|
|
]);
|
|
exit;
|
|
}
|
|
?>
|