diff --git a/01/koneksi.php b/01/koneksi.php index b1d34b3..b61e5ca 100644 --- a/01/koneksi.php +++ b/01/koneksi.php @@ -4,11 +4,10 @@ $user = getenv('DB_USER') ?: 'root'; $pass = getenv('DB_PASSWORD') ?: ''; $db = getenv('DB_NAME') ?: 'db_spbu'; -$conn = mysqli_connect($host, $user, $pass, $db); +$conn = @mysqli_connect($host, $user, $pass, $db); if (!$conn) { die("Koneksi database gagal: " . mysqli_connect_error()); } $koneksi = $conn; -?> diff --git a/02/db.php b/02/db.php index e553ec6..567561e 100644 --- a/02/db.php +++ b/02/db.php @@ -5,10 +5,8 @@ $user = getenv('DB_USER') ?: 'root'; $pass = getenv('DB_PASSWORD') ?: ''; $db = getenv('DB_NAME') ?: '02_kerusakan'; -$conn = mysqli_connect($host, $user, $pass, $db); +$conn = @mysqli_connect($host, $user, $pass, $db); if (!$conn) { die("Koneksi database gagal: " . mysqli_connect_error()); } - -?> diff --git a/04/koneksi.php b/04/koneksi.php index 3d03dd2..1f73155 100644 --- a/04/koneksi.php +++ b/04/koneksi.php @@ -4,7 +4,7 @@ $user = getenv('DB_USER') ?: 'root'; $pass = getenv('DB_PASSWORD') ?: ''; $db = getenv('DB_NAME_04') ?: (getenv('DB_NAME') ?: 'db_24jam'); -$conn = mysqli_connect($host, $user, $pass, $db); +$conn = @mysqli_connect($host, $user, $pass, $db); if (!$conn) { die("Koneksi database gagal: " . mysqli_connect_error()); diff --git a/05/koneksi.php b/05/koneksi.php index 425a6be..8ad9697 100644 --- a/05/koneksi.php +++ b/05/koneksi.php @@ -7,7 +7,7 @@ $user = getenv('DB_USER') ?: 'root'; $pass = getenv('DB_PASSWORD') ?: ''; $db = getenv('DB_NAME') ?: 'uas_06'; -$conn = mysqli_connect($host, $user, $pass, $db); +$conn = @mysqli_connect($host, $user, $pass, $db); if (!$conn) { http_response_code(500); diff --git a/init-db.php b/init-db.php index 5bc74f4..4bbae7a 100644 --- a/init-db.php +++ b/init-db.php @@ -18,14 +18,19 @@ if ($conn->connect_error) { die("Gagal koneksi ke database: " . $conn->connect_error . "\n"); } -// Buat database utama jika belum ada (berguna untuk local development) -$conn->query("CREATE DATABASE IF NOT EXISTS `$db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); -$conn->select_db($db); +// Buat database utama jika belum ada (berguna untuk local development, tapi mungkin gagal di production jika tidak ada akses) +if (!$conn->query("CREATE DATABASE IF NOT EXISTS `$db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")) { + echo "Warning: Gagal membuat database $db (mungkin sudah ada atau tidak ada akses). Error: " . $conn->error . "\n"; +} + +if (!$conn->select_db($db)) { + die("Fatal Error: Gagal memilih database $db. Error: " . $conn->error . "\n"); +} function importSql($conn, $file) { if (!file_exists($file)) return; $sql = file_get_contents($file); - // Hapus CREATE DATABASE dan USE agar menggunakan DB saat ini + // Hapus baris CREATE DATABASE dan USE agar aman $sql = preg_replace('/CREATE DATABASE IF NOT EXISTS [^\;]+\;/i', '', $sql); $sql = preg_replace('/USE [^\;]+\;/i', '', $sql); @@ -35,28 +40,43 @@ function importSql($conn, $file) { $res->free(); } } while ($conn->more_results() && $conn->next_result()); + } else { + echo "Error saat import file $file: " . $conn->error . "\n"; } } // Cek apakah tabel uas_06 sudah ada (menggunakan tabel role sebagai patokan) $res = $conn->query("SHOW TABLES LIKE 'role'"); -if ($res && $res->num_rows == 0) { - echo "Tabel utama (05) belum ada, menjalankan import...\n"; - importSql($conn, __DIR__ . '/05/database_uas_06.sql'); +if ($res) { + if ($res->num_rows == 0) { + echo "Tabel utama (05) belum ada, menjalankan import...\n"; + importSql($conn, __DIR__ . '/05/database_uas_06.sql'); + } else { + echo "Tabel utama (05) sudah ada, skip import.\n"; + } } else { - echo "Tabel utama (05) sudah ada atau query gagal, skip import.\n"; + echo "Query gagal saat cek tabel role: " . $conn->error . "\n"; } // Cek tabel SPBU (04) $db04 = getenv('DB_NAME_04') ?: $db; -$conn->query("CREATE DATABASE IF NOT EXISTS `$db04` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); -$conn->select_db($db04); -$res = $conn->query("SHOW TABLES LIKE 'spbu'"); -if ($res && $res->num_rows == 0) { - echo "Tabel spbu (04) belum ada, menjalankan import...\n"; - importSql($conn, __DIR__ . '/04/db_spbu.sql'); +if (!$conn->query("CREATE DATABASE IF NOT EXISTS `$db04` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")) { + echo "Warning: Gagal membuat database $db04. Error: " . $conn->error . "\n"; +} +if (!$conn->select_db($db04)) { + echo "Fatal Error: Gagal memilih database $db04. Error: " . $conn->error . "\n"; } else { - echo "Tabel spbu (04) sudah ada, skip import.\n"; + $res = $conn->query("SHOW TABLES LIKE 'spbu'"); + if ($res) { + if ($res->num_rows == 0) { + echo "Tabel spbu (04) belum ada, menjalankan import...\n"; + importSql($conn, __DIR__ . '/04/db_spbu.sql'); + } else { + echo "Tabel spbu (04) sudah ada, skip import.\n"; + } + } else { + echo "Query gagal saat cek tabel spbu: " . $conn->error . "\n"; + } } $conn->close(); diff --git a/test_regex.php b/test_regex.php new file mode 100644 index 0000000..c1d28f8 --- /dev/null +++ b/test_regex.php @@ -0,0 +1,7 @@ +