olmayan id girdiğinde hata verme nasıl yapılır?
5
●448
- 15-01-2013, 13:06:19php de bilgileri gösterip, silerken silme işlemi yaparken id'ye göre sildiriyor. Atıyorum 20 tane ID varsa sırayla 1 den 20 ye kadar buraya 25 girildiğinde böyle bir ID yok diye hata vermesi lazım. Bunu acil olarak yazabilir misiniz, nasıl yapılır?
- 15-01-2013, 13:12:30Üyeliği durdurulduÖrnek Olarak
$sql = mysql_query("SELECT * FROM `tablo` WHERE `id` = '$id' "); if(mysql_num_rows($sql) > 1) { // İşlemler }else{ echo "Böyle Bir Kayıt Yok Gibi"; }Bu Şekil Bir Şey Yapabilirsiniz Hocam - 15-01-2013, 13:24:04teşekkür ediyorum.
$del = $_POST[id]; $sayi = @mysql_num_rows(@mysql_query("select id from arabalar where id='$del'")); $sil = mysql_query("delete from arabalar where id='$del'"); if($del < 1) { echo "ID 1'den kucuk olamaz!"; } else if ($del > $sayi) { echo "boyle bir ID bulunmuyor."; } else { echo "basariyla silindi."; } if ($sil) { echo "Basariyla silindi"; } if (!$sil) { echo "Silinemedi"; }benim kodlar böyle çalışıyor sorgular fakat silinirken uyardıa "böyle bir id yok başarıyla silindi" diyor içerik gerçekten siliniyor. bunu nasıl çözerim
- 15-01-2013, 13:38:55Update insert, delete ve replace komutları sonucunda kaç satırın etkilendiğini yani işlemin gerçekleşipğ gerçekleşmediğini mysql_affected_rows() fonksiyonu ile öğreniyoruz.
Döngü ile silme komutu gönderip mysql_affected_rows ile etkilenen satır sayısına baktıracaksınız. Eğer etkilenen satır yoksa o id yoktur ve silinememiştir.
Diyelim ki 5 tane id var silinecek ve bunlar bir dizi içinde
$silinecek = array(2,3,4,5,10); for($i = 0; $i < count($silinecek); $i++){ $sil = mysql_query("delete from arabalar where id = ".$silinecek[$i]); if(mysql_affected_rows() > 0){ echo $silinecek[$i].' id\'sine sahip kayıt başarıyla silindi.'; }else{ echo $silinecek[$i].' id\'si ile bir kayıt bulunmamaktadır.'; } }senin koda uygularsak
$del = intval($_POST[id]); //eğer değer birden küçükse mysql sorgusuna girme, 1 den büyükse silme komutunu gönder if($del < 1) { echo "ID 1'den kucuk olamaz!"; }else{ $sil = mysql_query("delete from arabalar where id='$del'"); if (mysql_affected_rows() < 1) { echo "boyle bir ID bulunmuyor."; } else { echo "basariyla silindi."; } }