Files
WebGIS-Project/webgis04/koneksi.php
T

38 lines
1.0 KiB
PHP

<?php
mysqli_report(MYSQLI_REPORT_OFF);
function env_first(array $keys, $default = '') {
foreach ($keys as $key) {
$value = getenv($key);
if ($value !== false && $value !== '') return $value;
}
return $default;
}
$hosts = array_filter(array_unique([
env_first(['DB_HOST', 'MYSQL_HOST', 'MARIADB_HOST']),
'mysql',
'mariadb',
'db',
'database',
'host.docker.internal',
'127.0.0.1',
]));
$user = env_first(['DB_USER', 'MYSQL_USER', 'MARIADB_USER'], 'root');
$pass = env_first(['DB_PASSWORD', 'MYSQL_PASSWORD', 'MARIADB_PASSWORD'], '');
$db = env_first(['SPBU_DB_NAME', 'DB_NAME_SPBU', 'DB_NAME', 'MYSQL_DATABASE', 'MARIADB_DATABASE'], 'db_spbu');
$conn = false;
foreach ($hosts as $host) {
$conn = mysqli_connect($host, $user, $pass, $db);
if ($conn) break;
}
if (!$conn) {
die("Koneksi database gagal. Pastikan MySQL service berjalan, environment DB_HOST/DB_USER/DB_PASSWORD benar, dan database '$db' sudah diimport. Error: " . mysqli_connect_error());
}
mysqli_set_charset($conn, 'utf8mb4');
?>