From 33c28ec0d4bc4097f46cca7529c98cf706e174f9 Mon Sep 17 00:00:00 2001 From: Ichsanix Date: Thu, 11 Jun 2026 20:48:27 +0700 Subject: [PATCH] fix : bug --- config/db.php | 11 +++--- database/database.sql | 4 +-- debug.php | 80 +++++++++++++++++++++++++++++++++++++++++++ import.php | 37 ++++++++++++++++++++ 4 files changed, 125 insertions(+), 7 deletions(-) create mode 100644 debug.php create mode 100644 import.php diff --git a/config/db.php b/config/db.php index a1d1c23..c35856a 100644 --- a/config/db.php +++ b/config/db.php @@ -3,16 +3,17 @@ // config/db.php — Database connection (PDO) // ============================================================ -define('DB_HOST', '127.0.0.1'); // ← ganti dari localhost ke 127.0.0.1 -define('DB_NAME', 'webgis_db'); // ← ganti dari webgis_db ke webgis -define('DB_USER', 'root'); -define('DB_PASS', 'root123'); +define('DB_HOST', 'vsw0wwo480kg8sooc0s00sow'); +define('DB_PORT', '3306'); +define('DB_NAME', 'Pemetaan_Kemiskinan'); +define('DB_USER', 'mysql'); +define('DB_PASS', '4ZUbGM9LD8zcJuGz0xgGOvNkLrAtZiarqP0QSCrM6uYM5ZHGuMVm1xXu68ChfyRa'); define('DB_CHARSET', 'utf8mb4'); function getDB(): PDO { static $pdo = null; if ($pdo === null) { - $dsn = sprintf('mysql:host=%s;dbname=%s;charset=%s', DB_HOST, DB_NAME, DB_CHARSET); + $dsn = sprintf('mysql:host=%s;port=%s;dbname=%s;charset=%s', DB_HOST, DB_PORT, DB_NAME, DB_CHARSET); $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, diff --git a/database/database.sql b/database/database.sql index 79dd4ac..fa31815 100644 --- a/database/database.sql +++ b/database/database.sql @@ -4,8 +4,8 @@ -- Lines (Roads), Polygons (Land Parcels) -- ============================================================ -CREATE DATABASE IF NOT EXISTS webgis_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -USE webgis_db; +-- CREATE DATABASE IF NOT EXISTS webgis_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +-- USE webgis_db; -- ------------------------------------------------------------ -- TABLE: points diff --git a/debug.php b/debug.php new file mode 100644 index 0000000..6f45faa --- /dev/null +++ b/debug.php @@ -0,0 +1,80 @@ +Database Debugger"; +echo ""; +echo ""; + +echo "

🔍 Database Debugger

"; + +try { + $pdo = getDB(); + + echo "

Koneksi ke database " . htmlspecialchars(DB_NAME) . " berhasil.

"; + + // Ambil daftar semua tabel + $stmt = $pdo->query("SHOW TABLES"); + $tables = $stmt->fetchAll(PDO::FETCH_COLUMN); + + if (empty($tables)) { + echo "

Tidak ada tabel yang ditemukan di database ini. Pastikan Anda sudah melakukan import database.

"; + } else { + echo "

Ditemukan " . count($tables) . " tabel.

"; + + foreach ($tables as $table) { + echo "

Tabel: " . htmlspecialchars($table) . "

"; + + // Ambil struktur tabel (kolom) + $stmtCols = $pdo->query("SHOW COLUMNS FROM `" . $table . "`"); + $columns = $stmtCols->fetchAll(PDO::FETCH_COLUMN); + + // Ambil data (limit 100 baris agar tidak berat jika datanya sangat banyak) + $stmtData = $pdo->query("SELECT * FROM `" . $table . "` LIMIT 100"); + $rows = $stmtData->fetchAll(PDO::FETCH_ASSOC); + + if (empty($rows)) { + echo "

Tabel ini tidak memiliki data (kosong).

"; + } else { + echo ""; + echo ""; + foreach ($columns as $col) { + echo ""; + } + echo ""; + + foreach ($rows as $row) { + echo ""; + foreach ($columns as $col) { + $val = $row[$col]; + // Batasi panjang teks yang sangat panjang (misal multipolygon/geojson) untuk debug + if (is_string($val) && strlen($val) > 100) { + $val = substr($val, 0, 100) . "... [terpotong]"; + } + echo ""; + } + echo ""; + } + echo "
" . htmlspecialchars($col) . "
" . htmlspecialchars((string)$val) . "
"; + + if (count($rows) == 100) { + echo "

* Hanya menampilkan 100 baris pertama.

"; + } + } + } + } +} catch (PDOException $e) { + echo "
"; + echo "Error Koneksi Database:
"; + echo htmlspecialchars($e->getMessage()); + echo "
"; +} + +echo ""; diff --git a/import.php b/import.php new file mode 100644 index 0000000..9080f61 --- /dev/null +++ b/import.php @@ -0,0 +1,37 @@ +Import Database"; + +$sqlFile = __DIR__ . '/database/database.sql'; + +if (!file_exists($sqlFile)) { + die("Error: File database.sql tidak ditemukan di path: " . htmlspecialchars($sqlFile)); +} + +$sql = file_get_contents($sqlFile); + +if (empty(trim($sql))) { + die("Error: File database.sql kosong."); +} + +try { + $pdo = getDB(); + + // Nonaktifkan foreign key checks untuk menghindari error saat drop/create tabel + $pdo->exec("SET FOREIGN_KEY_CHECKS = 0;"); + + // Eksekusi semua query yang ada di dalam file SQL + $pdo->exec($sql); + + // Aktifkan kembali foreign key checks + $pdo->exec("SET FOREIGN_KEY_CHECKS = 1;"); + + echo "

Import Berhasil!

"; + echo "

Seluruh struktur tabel dan data dari file database.sql telah berhasil dieksekusi ke database " . htmlspecialchars(DB_NAME) . ".

"; + echo "

Lihat isi database di sini (debug.php)

"; + +} catch (PDOException $e) { + echo "

Import Gagal!

"; + echo "

Error Message: " . htmlspecialchars($e->getMessage()) . "

"; +}