From 41f34e7c8ec64111cb81af6dfcf44ba60f8d14a9 Mon Sep 17 00:00:00 2001 From: Gladys23 Date: Thu, 11 Jun 2026 15:16:07 +0700 Subject: [PATCH] Show database write errors in APIs --- .../webgis_uas_FIXED/api/jadwal_piket.php | 19 +++++++++++++++---- .../webgis_uas_FIXED/api/keluarga.php | 16 ++++++++++++---- .../api/riwayat_pendidikan.php | 12 +++++++++--- .../webgis_uas_FIXED/api/rumah_ibadah.php | 12 +++++++++--- 4 files changed, 45 insertions(+), 14 deletions(-) diff --git a/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/jadwal_piket.php b/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/jadwal_piket.php index cc86d12..b57577c 100644 --- a/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/jadwal_piket.php +++ b/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/jadwal_piket.php @@ -51,7 +51,9 @@ if ($action==='save' && $_SERVER['REQUEST_METHOD']==='POST') { if (!$uid || !$riId || !$tgl) jsonError('Data tidak lengkap'); $cek = $conn->query("SELECT id FROM jadwal_piket WHERE user_id=$uid AND tanggal='$tgl' AND shift='$shift'")->fetch_assoc(); if ($cek) jsonError('Jadwal sudah ada untuk pengurus ini di shift & tanggal yang sama'); - $conn->query("INSERT INTO jadwal_piket (user_id,rumah_ibadah_id,tanggal,shift,jam_mulai,jam_selesai,keterangan) VALUES ($uid,$riId,'$tgl','$shift','$jMul','$jSls','$ket')"); + if (!$conn->query("INSERT INTO jadwal_piket (user_id,rumah_ibadah_id,tanggal,shift,jam_mulai,jam_selesai,keterangan) VALUES ($uid,$riId,'$tgl','$shift','$jMul','$jSls','$ket')")) { + jsonError('Gagal tambah jadwal: ' . $conn->error); + } logAktivitas($conn,'CREATE_JADWAL','jadwal_piket',$conn->insert_id); jsonSuccess(['id'=>$conn->insert_id],'Jadwal berhasil ditambahkan'); } @@ -71,7 +73,12 @@ if ($action==='bulk' && $_SERVER['REQUEST_METHOD']==='POST') { if (in_array($cur->format('w'), $hari)) { $t = $cur->format('Y-m-d'); $cek = $conn->query("SELECT id FROM jadwal_piket WHERE user_id=$uid AND tanggal='$t' AND shift='$shift'")->fetch_assoc(); - if (!$cek) { $conn->query("INSERT INTO jadwal_piket (user_id,rumah_ibadah_id,tanggal,shift,jam_mulai,jam_selesai) VALUES ($uid,$riId,'$t','$shift','$jMul','$jSls')"); $added++; } + if (!$cek) { + if (!$conn->query("INSERT INTO jadwal_piket (user_id,rumah_ibadah_id,tanggal,shift,jam_mulai,jam_selesai) VALUES ($uid,$riId,'$t','$shift','$jMul','$jSls')")) { + jsonError('Gagal tambah jadwal bulk: ' . $conn->error); + } + $added++; + } } $cur->modify('+1 day'); } @@ -83,7 +90,9 @@ if ($action==='update_status' && $_SERVER['REQUEST_METHOD']==='POST') { $id = (int)($_POST['id'] ?? 0); $status = sanitize($conn, $_POST['status'] ?? ''); $gantiId= (int)($_POST['digantikan_oleh'] ?? 0) ?: 'NULL'; - $conn->query("UPDATE jadwal_piket SET status='$status',digantikan_oleh=$gantiId WHERE id=$id"); + if (!$conn->query("UPDATE jadwal_piket SET status='$status',digantikan_oleh=$gantiId WHERE id=$id")) { + jsonError('Gagal update jadwal: ' . $conn->error); + } logAktivitas($conn,'UPDATE_JADWAL','jadwal_piket',$id); jsonSuccess(null,'Status diperbarui'); } @@ -91,7 +100,9 @@ if ($action==='update_status' && $_SERVER['REQUEST_METHOD']==='POST') { if ($action==='delete' && $_SERVER['REQUEST_METHOD']==='POST') { requireRole('admin','pengurus'); $id = (int)($_POST['id'] ?? 0); - $conn->query("DELETE FROM jadwal_piket WHERE id=$id"); + if (!$conn->query("DELETE FROM jadwal_piket WHERE id=$id")) { + jsonError('Gagal hapus jadwal: ' . $conn->error); + } logAktivitas($conn,'DELETE_JADWAL','jadwal_piket',$id); jsonSuccess(null,'Jadwal dihapus'); } diff --git a/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/keluarga.php b/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/keluarga.php index 8bbab54..4f0c645 100644 --- a/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/keluarga.php +++ b/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/keluarga.php @@ -57,13 +57,17 @@ if ($action === 'save' && $_SERVER['REQUEST_METHOD'] === 'POST') { if (!$alamat) jsonError('Alamat wajib diisi'); if ($id > 0) { - $conn->query("UPDATE keluarga SET no_kk='$no_kk',alamat='$alamat',rt='$rt',rw='$rw',kelurahan='$kel',kecamatan='$kec',kota='$kota',lat=$lat,lng=$lng,status_ekonomi='$status_ek',rumah_ibadah_id=$ibadah_id WHERE id=$id"); + if (!$conn->query("UPDATE keluarga SET no_kk='$no_kk',alamat='$alamat',rt='$rt',rw='$rw',kelurahan='$kel',kecamatan='$kec',kota='$kota',lat=$lat,lng=$lng,status_ekonomi='$status_ek',rumah_ibadah_id=$ibadah_id WHERE id=$id")) { + jsonError('Gagal update keluarga: ' . $conn->error); + } logAktivitas($conn, 'UPDATE_KELUARGA', 'keluarga', $id); jsonSuccess(['id'=>$id], 'Data keluarga diperbarui'); } else { $dup = $conn->query("SELECT id FROM keluarga WHERE no_kk='$no_kk'")->fetch_assoc(); if ($dup) jsonError('No. KK sudah terdaftar'); - $conn->query("INSERT INTO keluarga (no_kk,alamat,rt,rw,kelurahan,kecamatan,kota,lat,lng,status_ekonomi,rumah_ibadah_id) VALUES ('$no_kk','$alamat','$rt','$rw','$kel','$kec','$kota',$lat,$lng,'$status_ek',$ibadah_id)"); + if (!$conn->query("INSERT INTO keluarga (no_kk,alamat,rt,rw,kelurahan,kecamatan,kota,lat,lng,status_ekonomi,rumah_ibadah_id) VALUES ('$no_kk','$alamat','$rt','$rw','$kel','$kec','$kota',$lat,$lng,'$status_ek',$ibadah_id)")) { + jsonError('Gagal tambah keluarga: ' . $conn->error); + } $newId = $conn->insert_id; logAktivitas($conn, 'CREATE_KELUARGA', 'keluarga', $newId); jsonSuccess(['id'=>$newId], 'Keluarga berhasil ditambahkan'); @@ -74,7 +78,9 @@ if ($action === 'verifikasi' && $_SERVER['REQUEST_METHOD'] === 'POST') { requireRole('admin', 'pengurus'); $id = (int)($_POST['id'] ?? 0); $uid = currentUserId(); - $conn->query("UPDATE keluarga SET status_verifikasi='terverifikasi', verified_by=$uid, verified_at=NOW() WHERE id=$id"); + if (!$conn->query("UPDATE keluarga SET status_verifikasi='terverifikasi', verified_by=$uid, verified_at=NOW() WHERE id=$id")) { + jsonError('Gagal verifikasi keluarga: ' . $conn->error); + } logAktivitas($conn, 'VERIFIKASI_KELUARGA', 'keluarga', $id); jsonSuccess(null, 'Keluarga terverifikasi'); } @@ -85,7 +91,9 @@ if ($action === 'delete' && $_SERVER['REQUEST_METHOD'] === 'POST') { // Cek masih ada anggota $anggota = $conn->query("SELECT COUNT(*) c FROM penduduk WHERE keluarga_id=$id")->fetch_assoc()['c']; if ($anggota > 0) jsonError("Masih ada $anggota anggota. Pindahkan anggota terlebih dahulu."); - $conn->query("DELETE FROM keluarga WHERE id=$id"); + if (!$conn->query("DELETE FROM keluarga WHERE id=$id")) { + jsonError('Gagal hapus keluarga: ' . $conn->error); + } jsonSuccess(null, 'Keluarga dihapus'); } diff --git a/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/riwayat_pendidikan.php b/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/riwayat_pendidikan.php index b7caf08..7555309 100644 --- a/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/riwayat_pendidikan.php +++ b/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/riwayat_pendidikan.php @@ -50,11 +50,15 @@ if ($action === 'save' && $_SERVER['REQUEST_METHOD'] === 'POST') { $thn_masuk_val = $thn_masuk ?: 'NULL'; if ($id > 0) { - $conn->query("UPDATE riwayat_pendidikan SET jenis='$jenis',nama_institusi='$institusi',jenjang='$jenjang',jurusan='$jurusan',tahun_masuk=$thn_masuk_val,tahun_lulus=$thn_lulus_val,status='$status' WHERE id=$id AND penduduk_id=$penduduk_id"); + if (!$conn->query("UPDATE riwayat_pendidikan SET jenis='$jenis',nama_institusi='$institusi',jenjang='$jenjang',jurusan='$jurusan',tahun_masuk=$thn_masuk_val,tahun_lulus=$thn_lulus_val,status='$status' WHERE id=$id AND penduduk_id=$penduduk_id")) { + jsonError('Gagal update riwayat pendidikan: ' . $conn->error); + } logAktivitas($conn, 'UPDATE_RIWAYAT_PDDK', 'riwayat_pendidikan', $id); jsonSuccess(['id' => $id, 'warnings' => $warns], 'Riwayat pendidikan diperbarui'); } else { - $conn->query("INSERT INTO riwayat_pendidikan (penduduk_id,jenis,nama_institusi,jenjang,jurusan,tahun_masuk,tahun_lulus,status) VALUES ($penduduk_id,'$jenis','$institusi','$jenjang','$jurusan',$thn_masuk_val,$thn_lulus_val,'$status')"); + if (!$conn->query("INSERT INTO riwayat_pendidikan (penduduk_id,jenis,nama_institusi,jenjang,jurusan,tahun_masuk,tahun_lulus,status) VALUES ($penduduk_id,'$jenis','$institusi','$jenjang','$jurusan',$thn_masuk_val,$thn_lulus_val,'$status')")) { + jsonError('Gagal tambah riwayat pendidikan: ' . $conn->error); + } $newId = $conn->insert_id; logAktivitas($conn, 'CREATE_RIWAYAT_PDDK', 'riwayat_pendidikan', $newId); jsonSuccess(['id' => $newId, 'warnings' => $warns], 'Riwayat pendidikan ditambahkan'); @@ -63,7 +67,9 @@ if ($action === 'save' && $_SERVER['REQUEST_METHOD'] === 'POST') { if ($action === 'delete' && $_SERVER['REQUEST_METHOD'] === 'POST') { $id = (int)($_POST['id'] ?? 0); - $conn->query("DELETE FROM riwayat_pendidikan WHERE id=$id"); + if (!$conn->query("DELETE FROM riwayat_pendidikan WHERE id=$id")) { + jsonError('Gagal hapus riwayat pendidikan: ' . $conn->error); + } logAktivitas($conn, 'DELETE_RIWAYAT_PDDK', 'riwayat_pendidikan', $id); jsonSuccess(null, 'Dihapus'); } diff --git a/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/rumah_ibadah.php b/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/rumah_ibadah.php index db34f46..8845f38 100644 --- a/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/rumah_ibadah.php +++ b/05/webgis_uas_FIXED_v2/webgis_uas_FIXED/api/rumah_ibadah.php @@ -37,11 +37,15 @@ if ($action === 'save' && $_SERVER['REQUEST_METHOD'] === 'POST') { if (!$nama) jsonError('Nama wajib diisi'); if (!$lat || !$lng) jsonError('Koordinat wajib diisi'); if ($id > 0) { - $conn->query("UPDATE rumah_ibadah SET nama='$nama',jenis='$jenis',kontak='$kontak',alamat='$alamat',kelurahan='$kel',kecamatan='$kec',lat=$lat,lng=$lng,radius=$radius WHERE id=$id"); + if (!$conn->query("UPDATE rumah_ibadah SET nama='$nama',jenis='$jenis',kontak='$kontak',alamat='$alamat',kelurahan='$kel',kecamatan='$kec',lat=$lat,lng=$lng,radius=$radius WHERE id=$id")) { + jsonError('Gagal update rumah ibadah: ' . $conn->error); + } logAktivitas($conn, 'UPDATE_IBADAH', 'rumah_ibadah', $id); jsonSuccess(['id'=>$id], 'Berhasil diperbarui'); } else { - $conn->query("INSERT INTO rumah_ibadah (nama,jenis,kontak,alamat,kelurahan,kecamatan,lat,lng,radius) VALUES ('$nama','$jenis','$kontak','$alamat','$kel','$kec',$lat,$lng,$radius)"); + if (!$conn->query("INSERT INTO rumah_ibadah (nama,jenis,kontak,alamat,kelurahan,kecamatan,lat,lng,radius) VALUES ('$nama','$jenis','$kontak','$alamat','$kel','$kec',$lat,$lng,$radius)")) { + jsonError('Gagal tambah rumah ibadah: ' . $conn->error); + } $newId = $conn->insert_id; logAktivitas($conn, 'CREATE_IBADAH', 'rumah_ibadah', $newId); jsonSuccess(['id'=>$newId], 'Rumah ibadah berhasil ditambahkan'); @@ -51,7 +55,9 @@ if ($action === 'save' && $_SERVER['REQUEST_METHOD'] === 'POST') { if ($action === 'delete' && $_SERVER['REQUEST_METHOD'] === 'POST') { requireRole('admin'); $id = (int)($_POST['id'] ?? 0); - $conn->query("UPDATE rumah_ibadah SET aktif=0 WHERE id=$id"); + if (!$conn->query("UPDATE rumah_ibadah SET aktif=0 WHERE id=$id")) { + jsonError('Gagal hapus rumah ibadah: ' . $conn->error); + } logAktivitas($conn, 'DELETE_IBADAH', 'rumah_ibadah', $id); jsonSuccess(null, 'Berhasil dihapus'); }