";
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 "| " . htmlspecialchars($col) . " | ";
}
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 "| " . htmlspecialchars((string)$val) . " | ";
}
echo "
";
}
echo "
";
if (count($rows) == 100) {
echo "* Hanya menampilkan 100 baris pertama.
";
}
}
}
}
} catch (PDOException $e) {
echo "";
echo "Error Koneksi Database:
";
echo htmlspecialchars($e->getMessage());
echo "
";
}
echo "