"; 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 "";