Suppress PHP warnings on mysqli_connect to prevent JSON corruption

This commit is contained in:
Nama Kamu
2026-06-11 15:09:46 +07:00
parent 805f152be1
commit 07a7dc55e8
6 changed files with 46 additions and 22 deletions
+1 -2
View File
@@ -4,11 +4,10 @@ $user = getenv('DB_USER') ?: 'root';
$pass = getenv('DB_PASSWORD') ?: ''; $pass = getenv('DB_PASSWORD') ?: '';
$db = getenv('DB_NAME') ?: 'db_spbu'; $db = getenv('DB_NAME') ?: 'db_spbu';
$conn = mysqli_connect($host, $user, $pass, $db); $conn = @mysqli_connect($host, $user, $pass, $db);
if (!$conn) { if (!$conn) {
die("Koneksi database gagal: " . mysqli_connect_error()); die("Koneksi database gagal: " . mysqli_connect_error());
} }
$koneksi = $conn; $koneksi = $conn;
?>
+1 -3
View File
@@ -5,10 +5,8 @@ $user = getenv('DB_USER') ?: 'root';
$pass = getenv('DB_PASSWORD') ?: ''; $pass = getenv('DB_PASSWORD') ?: '';
$db = getenv('DB_NAME') ?: '02_kerusakan'; $db = getenv('DB_NAME') ?: '02_kerusakan';
$conn = mysqli_connect($host, $user, $pass, $db); $conn = @mysqli_connect($host, $user, $pass, $db);
if (!$conn) { if (!$conn) {
die("Koneksi database gagal: " . mysqli_connect_error()); die("Koneksi database gagal: " . mysqli_connect_error());
} }
?>
+1 -1
View File
@@ -4,7 +4,7 @@ $user = getenv('DB_USER') ?: 'root';
$pass = getenv('DB_PASSWORD') ?: ''; $pass = getenv('DB_PASSWORD') ?: '';
$db = getenv('DB_NAME_04') ?: (getenv('DB_NAME') ?: 'db_24jam'); $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) { if (!$conn) {
die("Koneksi database gagal: " . mysqli_connect_error()); die("Koneksi database gagal: " . mysqli_connect_error());
+1 -1
View File
@@ -7,7 +7,7 @@ $user = getenv('DB_USER') ?: 'root';
$pass = getenv('DB_PASSWORD') ?: ''; $pass = getenv('DB_PASSWORD') ?: '';
$db = getenv('DB_NAME') ?: 'uas_06'; $db = getenv('DB_NAME') ?: 'uas_06';
$conn = mysqli_connect($host, $user, $pass, $db); $conn = @mysqli_connect($host, $user, $pass, $db);
if (!$conn) { if (!$conn) {
http_response_code(500); http_response_code(500);
+35 -15
View File
@@ -18,14 +18,19 @@ if ($conn->connect_error) {
die("Gagal koneksi ke database: " . $conn->connect_error . "\n"); die("Gagal koneksi ke database: " . $conn->connect_error . "\n");
} }
// Buat database utama jika belum ada (berguna untuk local development) // Buat database utama jika belum ada (berguna untuk local development, tapi mungkin gagal di production jika tidak ada akses)
$conn->query("CREATE DATABASE IF NOT EXISTS `$db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); if (!$conn->query("CREATE DATABASE IF NOT EXISTS `$db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")) {
$conn->select_db($db); 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) { function importSql($conn, $file) {
if (!file_exists($file)) return; if (!file_exists($file)) return;
$sql = file_get_contents($file); $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('/CREATE DATABASE IF NOT EXISTS [^\;]+\;/i', '', $sql);
$sql = preg_replace('/USE [^\;]+\;/i', '', $sql); $sql = preg_replace('/USE [^\;]+\;/i', '', $sql);
@@ -35,28 +40,43 @@ function importSql($conn, $file) {
$res->free(); $res->free();
} }
} while ($conn->more_results() && $conn->next_result()); } 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) // Cek apakah tabel uas_06 sudah ada (menggunakan tabel role sebagai patokan)
$res = $conn->query("SHOW TABLES LIKE 'role'"); $res = $conn->query("SHOW TABLES LIKE 'role'");
if ($res && $res->num_rows == 0) { if ($res) {
echo "Tabel utama (05) belum ada, menjalankan import...\n"; if ($res->num_rows == 0) {
importSql($conn, __DIR__ . '/05/database_uas_06.sql'); 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 { } 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) // Cek tabel SPBU (04)
$db04 = getenv('DB_NAME_04') ?: $db; $db04 = getenv('DB_NAME_04') ?: $db;
$conn->query("CREATE DATABASE IF NOT EXISTS `$db04` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); if (!$conn->query("CREATE DATABASE IF NOT EXISTS `$db04` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")) {
$conn->select_db($db04); echo "Warning: Gagal membuat database $db04. Error: " . $conn->error . "\n";
$res = $conn->query("SHOW TABLES LIKE 'spbu'"); }
if ($res && $res->num_rows == 0) { if (!$conn->select_db($db04)) {
echo "Tabel spbu (04) belum ada, menjalankan import...\n"; echo "Fatal Error: Gagal memilih database $db04. Error: " . $conn->error . "\n";
importSql($conn, __DIR__ . '/04/db_spbu.sql');
} else { } 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(); $conn->close();
+7
View File
@@ -0,0 +1,7 @@
<?php
$sql = "CREATE DATABASE IF NOT EXISTS uas_06 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE uas_06;
CREATE TABLE role (id INT);";
$sql = preg_replace('/CREATE DATABASE IF NOT EXISTS [^\;]+\;/i', '', $sql);
$sql = preg_replace('/USE [^\;]+\;/i', '', $sql);
echo $sql;