Files
UAS_WebGIS_MiaAurelia_D1041…/poverty-map/koneksi.php
2026-06-12 13:19:33 +07:00

41 lines
1.3 KiB
PHP

<?php
$host = getenv('DB_HOST') ?: "localhost";
$user = getenv('DB_USER') ?: "root";
$pass = getenv('DB_PASS') !== false ? getenv('DB_PASS') : "";
$db = getenv('DB_NAME') ?: "webgis_bansos";
// 1. Koneksi awal ke MySQL host tanpa memilih database
$conn = new mysqli($host, $user, $pass);
if ($conn->connect_error) {
die("Koneksi MySQL gagal: " . $conn->connect_error);
}
// 2. Cek apakah database sudah ada
$db_selected = $conn->select_db($db);
if (!$db_selected) {
// 3. Buat database baru jika belum ada
if ($conn->query("CREATE DATABASE `$db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")) {
$conn->select_db($db);
// 4. Baca dan eksekusi setup.sql
$sqlPath = __DIR__ . '/setup.sql';
if (file_exists($sqlPath)) {
$sql = file_get_contents($sqlPath);
if ($conn->multi_query($sql)) {
// Konsumsi semua hasil dari multi_query untuk mengosongkan buffer MySQL
do {
if ($result = $conn->store_result()) {
$result->free();
}
} while ($conn->next_result());
}
}
} else {
die("Gagal membuat database: " . $conn->error);
}
}
// 5. Konfigurasi encoding UTF-8
$conn->set_charset("utf8mb4");
?>