fix: avoid select_db exception when database not exists yet
This commit is contained in:
@@ -10,14 +10,17 @@ if ($conn->connect_error) {
|
|||||||
die("Koneksi MySQL gagal: " . $conn->connect_error);
|
die("Koneksi MySQL gagal: " . $conn->connect_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. Cek apakah database sudah ada
|
// 2. Cek apakah database sudah ada (tanpa exception jika belum ada)
|
||||||
$db_selected = $conn->select_db($db);
|
$dbCheck = $conn->query("SHOW DATABASES LIKE '$db'");
|
||||||
|
$db_selected = ($dbCheck && $dbCheck->num_rows > 0);
|
||||||
|
|
||||||
if (!$db_selected) {
|
if ($db_selected) {
|
||||||
|
$conn->select_db($db);
|
||||||
|
} else {
|
||||||
// 3. Buat database baru jika belum ada
|
// 3. Buat database baru jika belum ada
|
||||||
if ($conn->query("CREATE DATABASE `$db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")) {
|
if ($conn->query("CREATE DATABASE `$db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")) {
|
||||||
$conn->select_db($db);
|
$conn->select_db($db);
|
||||||
|
|
||||||
// 4. Baca dan eksekusi setup.sql
|
// 4. Baca dan eksekusi setup.sql
|
||||||
$sqlPath = __DIR__ . '/setup.sql';
|
$sqlPath = __DIR__ . '/setup.sql';
|
||||||
if (file_exists($sqlPath)) {
|
if (file_exists($sqlPath)) {
|
||||||
@@ -37,5 +40,4 @@ if (!$db_selected) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 5. Konfigurasi encoding UTF-8
|
// 5. Konfigurasi encoding UTF-8
|
||||||
$conn->set_charset("utf8mb4");
|
$conn->set_charset("utf8mb4");
|
||||||
?>
|
|
||||||
Reference in New Issue
Block a user