PHP MySQL Veri Silme

PHP ile MySQL veritabanından/tablosundan veri silme ile ilgili bilgiler yer almaktadır.

PHP ile MySQL veri silme işlemi için öncelikle PHP MySQL Bağlantısı ile bağlantı yapılıp PHP MySQL Sorgulama ile uygun SQL komutunun yazılması yeterli olacaktır.

MySQL ile veri silme işlemi DELETE SQL komutu ile yapılır.

DELETE FROM tablo_adi WHERE sutun_adi = silinecek_veri

NOT: Veri silme işleminde WHERE kullanılmazsa tablodaki tüm veriler silinir.

Veri silme işlemi için öncelikle gerekli MySQL bağlantısını yapalım.

<?php

$baglanti = new mysqli("localhost", "root", "", "kisi");

if ($baglanti->connect_errno > 0) {
    die("<b>Bağlantı Hatası:</b> " . $baglanti->connect_error);
}

$baglanti->set_charset("utf8");

echo "Veri silme işlemi";

$baglanti->close();

?>

Veri silme işlemi için query veya prepare metodunu kullanabiliriz.

Dışarıdan değer almayan veri silme işlemi için query metodunu kullanabiliriz.

<?php

$baglanti = new mysqli("localhost", "root", "", "kisi");

if ($baglanti->connect_errno > 0) {
    die("<b>Bağlantı Hatası:</b> " . $baglanti->connect_error);
}

$baglanti->set_charset("utf8");

$sorgu = $baglanti->query("DELETE FROM kisiler WHERE kisi_sira = 1");

if ($baglanti->errno > 0) {
    die("<b>Sorgu Hatası:</b> " . $baglanti->error);
}

if ($baglanti->affected_rows > 0) {
    echo $baglanti->affected_rows . " kayıt silindi.";
} else {
    echo "Herhangi bir kayıt silinemedi.";
}

$baglanti->close();

?>

Veri silme işlemi sonucunda mysqli sınıfındaki affected_rows özelliği silinen kayıt sayısını alır.

Veri silme işlemine dışarıdan değer alarak koşullu veri silme gibi bir işlem yapılacaksa prepare metodunun kullanılması faydalı olacaktır.

<?php

$sira = 1;

$baglanti = new mysqli("localhost", "root", "", "kisi");

if ($baglanti->connect_errno > 0) {
    die("<b>Bağlantı Hatası:</b> " . $baglanti->connect_error);
}

$baglanti->set_charset("utf8");

$sorgu = $baglanti->prepare("DELETE FROM kisiler WHERE kisi_sira = ?");

if ($baglanti->errno > 0) {
    die("<b>Sorgu Hatası:</b> " . $baglanti->error);
}

$sorgu->bind_param("i", $sira);
$sorgu->execute();

if ($sorgu->affected_rows > 0) {
    echo $sorgu->affected_rows . " kayıt silindi.";
} else {
    echo "Herhangi bir kayıt silinemedi.";
}

$sorgu->close();
$baglanti->close();

?>

Ön hazırlı sorgunun çalıştırılması sonucunda mysqli_stmt($sorgu) sınıfı içindeki affected_rows özelliği silinen kayıt sayısını alır.

Silinen kayıt sayısını belirten affected_rows özelliği kullanılarak veri silme işlemi kontrol edilebilir.

Veri silme işlemindeki dikkat edilmesi gereken yer DELETE SQL komutuna uygun WHERE koşulunun yazılmasıdır.

Herhangi bir WHERE koşulu belirtilmediğinde tablodaki veriler toplu/çoklu olarak silinecektir.

PHP MySQL Derslerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!