mencoba connect database
This commit is contained in:
@@ -1,35 +1,62 @@
|
||||
<?php
|
||||
/**
|
||||
* WebGIS - Konfigurasi & Koneksi Database
|
||||
*/
|
||||
|
||||
// Pastikan PHP tidak menampilkan error sebagai HTML (merusak output JSON)
|
||||
ini_set('display_errors', 0);
|
||||
ini_set('display_startup_errors', 0);
|
||||
error_reporting(0);
|
||||
|
||||
define('DB_HOST', getenv('DB_HOST') ?: 'localhost');
|
||||
define('DB_USER', getenv('DB_USER') ?: 'root');
|
||||
define('DB_PASS', getenv('DB_PASS') !== false ? getenv('DB_PASS') : '');
|
||||
define('DB_NAME', getenv('JALAN_DB_NAME') ?: 'WEB_GIS');
|
||||
$host_sekarang = $_SERVER['HTTP_HOST'];
|
||||
|
||||
/**
|
||||
* Mengembalikan koneksi MySQLi.
|
||||
* Jika koneksi gagal, langsung output JSON error dan exit.
|
||||
*/
|
||||
function getConnection()
|
||||
{
|
||||
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
|
||||
if (strpos($host_sekarang, 'localhost') !== false || strpos($host_sekarang, '127.0.0.1') !== false) {
|
||||
$host = "localhost";
|
||||
$user = "root";
|
||||
$pass = "";
|
||||
$db = "WEB_GIS";
|
||||
} else {
|
||||
$host = "to00g0c4cwsws8gsoc4c08og";
|
||||
$user = "mysql";
|
||||
$pass = "FzeWTKBJzGMHk47S6UI0w0wdFLKbANsrfoFDZDwVnxNDFS1qtBT9lFFcTfyJgdcf";
|
||||
$db = "WEB_GIS";
|
||||
}
|
||||
|
||||
if ($conn->connect_error) {
|
||||
http_response_code(500);
|
||||
echo json_encode([
|
||||
'status' => 'gagal',
|
||||
'pesan' => 'Koneksi database gagal: ' . $conn->connect_error
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
$conn = new mysqli($host, $user, $pass);
|
||||
if ($conn->connect_error) {
|
||||
http_response_code(500);
|
||||
echo json_encode(['status' => 'gagal', 'pesan' => 'Koneksi database gagal: ' . $conn->connect_error]);
|
||||
exit;
|
||||
}
|
||||
|
||||
$conn->set_charset('utf8mb4');
|
||||
$conn->query("CREATE DATABASE IF NOT EXISTS `$db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");
|
||||
$conn->select_db($db);
|
||||
$conn->set_charset('utf8mb4');
|
||||
|
||||
// Auto-create tables
|
||||
$conn->query("
|
||||
CREATE TABLE IF NOT EXISTS `tb_jalan` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`nama_jalan` VARCHAR(100) NOT NULL,
|
||||
`status_jalan` ENUM('Nasional','Provinsi','Kabupaten') NOT NULL,
|
||||
`panjang_jalan` DECIMAL(12,2) NOT NULL DEFAULT '0.00',
|
||||
`geojson` JSON NOT NULL,
|
||||
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
||||
");
|
||||
|
||||
$conn->query("
|
||||
CREATE TABLE IF NOT EXISTS `tb_parsil` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`nama_parsil` VARCHAR(100) NOT NULL,
|
||||
`status_kepemilikan` ENUM('SHM','HGB','HGU','HP') NOT NULL,
|
||||
`luas_tanah` DECIMAL(16,4) NOT NULL DEFAULT '0.0000',
|
||||
`geojson` JSON NOT NULL,
|
||||
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
|
||||
");
|
||||
|
||||
function getConnection() {
|
||||
global $conn;
|
||||
return $conn;
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user