Postingan lainnya
CRUD delete data gagal
pertanyaan saya kenapa value id nya g dapet ya..???
(ini isi hapus.php)
<?php
require_once('core/init.php');
if(isset($_GET['id'])){
if(hapusdata($_GET['id'])){
header('Location:index.php');
}else{
echo 'hapus data gagal';
}
}
?>
(ini isi function hapusdata)
<?php
function hapusdata($id){
global $link;
$query='DELETE FROM tabelku WHERE id=$id';
if(mysqli_query($link,$query)){
return true;
}else{
return false;
}
}
?>
20 Jawaban:
Udah di kirim nilainya pake link gan?
coba echo juga id nya gan di page utamanya , kalo dia ga keluar berarti emang ga kekirim ke delete page nya .
cara tulisan nya gmna ya gan..?? maap masih bljr
ane sudah echo g muncul apa" gan,memang value itu kita dapatkan dari mana ya min..??untuk masukan data dan tampilan data suadah working,tapi delete sama update masih else
kenapa ya gan, kelihatannya udah bener. Coba di fungsi hapus data, setelah $query=.... ; di stop dulu scriptnya pake fungsi die, die($query) , jadi sebelum masuk ifelse query, dia akan berhenti dan ngelihat isi querynya apa, nanti kalo bener dia akan jadi 'DELETE FROM tabelku WHERE id=1'; atau angka lainnya Terus dipastiin lagi nama table dan id nya bener di database
nama , asal , pekerjaan muncul ga gan ? kalo itu muncul ya prosesnya sama kaya itu . cek lagi bener ga Colomnya namanya 'id' ? karna kalo id ga dapet berarti ga bisa menuhin syarat ini
$query='DELETE FROM tabelku WHERE id=$id';
kalau script nya di die dia muncul spt ini gan : DELETE FROM tabelku WHERE id=$id
ini gambar tampilan nya sudah jalan seprti biasa,hanya funsi delete dan edit belom berjalan,id nya tidak ke baca gan kalau mau menghapus
kalau script nya di die dia muncul spt ini gan :
DELETE FROM tabelku WHERE id=$id
ada yang kurang gan di belakang id kayanya seharunsya di ada di tutup sama tanpa titik petik ;
sama aja gan udah di kasih titik koma
<td><a href="hapus.php?id=<?php print $row['id'];?>">Delete</td>
Kalo pas di die kaya gitu, berarti angkanya ngga masuk. coba dipisah kaya gini:
'DELETE FROM tabelku WHERE id='.$id;
Kalo nyari kesalahan bagus pake die tadi gan kelihatan, tadi jelas coba ngejalanin query padahal isinya id=$id wajar error, karena $id nya cuman text bukan angka. Kesalahannya karena $id digabung dia jadi teks biasa, bukan variabel
Bener idnya kebaca string kayaknya. Kalau mau lebih rinci lagi coba gini
$query='DELETE FROM tabelku WHERE id="'.$id.'"';
Jadi ke depannya kalau mau ditambahin clause yang lain bisa ditambah di belakang "'.$id.'". Contoh:
$query='DELETE FROM tabelku WHERE id="'.$id.'" AND name="'.$blabla.'"';
wah makasih banyak agan" sudah bisa di baca variable $id nya dengan script spt ini:
$query='DELETE FROM tabelku WHERE id="'.$id.'"';
tapi kalo boleh tau bedanya
=$id
sama
="'.$id.'"
apa ya gan..??
Ya itu tadi. idnya kebaca string. Walaupun kadang bisa, kalau mau aman (baik itu nanti valuenya string ataupun integer) dipake cara yang ke 2 aja.