PHP PDO ile Kayıt Silme (DELETE) - Akın Boztepe Blog

Veritabanından veri silme işlemi geri dönüşü olmayan bir işlem olduğu için, PDO'nun Prepared Statements özelliğini kullanmak hayati önem taşır. Bu yöntem, hem SQL Injection saldırılarını engeller hem de sorgunun sadece hedeflediğiniz satıra etki etmesini sağlar.

Temel Silme Yapısı

Bir kullanıcıyı veya içeriği ID numarasına göre silmek için en yaygın kullanılan yöntem şudur:

PHP

 

prepare($sql);

    // 2. Silinecek verinin ID'sini belirleyin
    $silinecek_id = 15;

    // 3. Sorguyu güvenli bir şekilde çalıştırın
    $sonuc = $sorgu->execute([
        'urun_id' => $silinecek_id
    ]);

    // 4. Silme işleminin gerçekleşip gerçekleşmediğini kontrol edin
    if ($sorgu->rowCount() > 0) {
        echo "Kayıt başarıyla silindi. Toplam: " . $sorgu->rowCount() . " satır.";
    } else {
        echo "Silinecek kayıt bulunamadı.";
    }

} catch (PDOException $e) {
    die("Silme işlemi sırasında hata oluştu: " . $e->getMessage());
}
?>

Güvenli Silme İşlemi İçin İpuçları

1. rowCount() ile Doğrulama

execute() metodu sorgunun teknik olarak çalışıp çalışmadığını söyler (true/false). Ancak rowCount(), veritabanında gerçekten bir satırın silinip silinmediğini kontrol etmenizi sağlar. Eğer ID yanlışsa sorgu hatasız çalışır ama hiçbir şey silinmez; bu durumu rowCount() ile yakalarsınız.

2. Kritik Silme İşlemlerinde Onay (Confirmation)

Silme işlemi kalıcıdır. Kullanıcı arayüzünde (Frontend) mutlaka bir "Emin misiniz?" uyarısı veya PHP tarafında yetki kontrolü (sadece admin silebilir gibi) yapılması önerilir.

3. Toplu Silme İşlemi

Birden fazla kaydı aynı anda silmek için IN operatörünü kullanabilirsiniz:

PHP

 

$ids = [1, 2, 3];
$yer_tutucular = str_repeat('?,', count($ids) - 1) . '?';
$sql = "DELETE FROM urunler WHERE id IN ($yer_tutucular)";
$sorgu = $pdo->prepare($sql);
$sorgu->execute($ids);

PDO ile Silme İşleminin Avantajları

  • Güvenlik: Kullanıcıdan gelen ID değerinin bir SQL komutu olarak algılanmasını engeller.

  • Hata Yönetimi: try-catch blokları sayesinde veritabanı hatalarını kullanıcıya göstermeden arka planda loglayabilirsiniz.

  • Performans: Aynı silme sorgusu farklı ID'lerle tekrar tekrar çalıştırılacaksa, prepare işlemi bir kez yapılır ve performans kazancı sağlar.

Benzer İçerikler :


İstatistikler

Yazar : admin

Kategori : Php Dersleri

Görüntülenme : 19

Tarih : 17 March 2026 - 02:53

Duyuru

Sitemiz 17.03.2026 tarihinde Bakım Çalışması Yapılacaktır.

Reklam

Kategoriler