PHP ile bir MySQL veritabanındaki tablolardan 3 farklı yöntemle kayıt silme işlemi yapabiliriz.
MySQL'de bir tablodan kayıt silmek için DELETE komutu kullanılır. MySQL ile bir tablodan kayıt silmek için aşağıdaki komut yapısını kullanabilirsiniz:
DELETE FROM tablo_adi WHERE sütun_adı = değer
DELETE komutu ile birlikte WHERE tanımlaması yapmadığınız takdirde, tabloda yer alan bütün değerler silinir:
DELETE FROM tablo_adi
Buradaki örneklerimizde, daha önce oluşturduğumuz personel adlı tablodan kayıt silme işlemi yapmaya çalışacağız:
1. MySQLi Nesneye Dayalı yöntem ile
<?php
$sunucu = "localhost";
$kullanici = "kullanıcıadı";
$parola = "parola";
$veritabani = "veritabaniadi";
// Bağlantı oluşturma
$bag = new mysqli($sunucu, $kullanici, $parola, $veritabani);
// Bağlantı kontrolü
if ($bag->connect_error) {
die("Bağlantı hatası: " . $bag->connect_error);
}
// Kayıt silmek için MySQL komutu
$sqlquery = "DELETE FROM personel WHERE adi='Ahmet'";
if ($bag->query($sqlquery) === TRUE) {
echo "Kayıt silme işlemi tamamlandı!";
}
else {
echo "Kayıt silme hatası: " . $bag->error;
}
$bag->close();
?>
Yukarıdaki örnekteki kodlar, veritabanına bağlandıktan sonra, $sqlquery değişkenine kayıt silmek için gerekli olan MySQL komut dizisini atar. $sqlquery değişkenini $bag->query() fonksiyonuna parametre olarak geçirip, fonksiyonu çağırarak personel tablosu içinde bulunan ve adi sütununda "Ahmet" değeri bulunan kaydı siler. Hata meydana gelirse, $bag->error değişkeni ile ekrana yazar. $bag->close() fonksiyonu ile bağlantı kapatılır.
2. MySQLi fonksiyonel yöntem ile
<?php
$sunucu = "localhost";
$kullanici = "kullanıcıadı";
$parola = "parola";
$veritabani = "veritabaniadi";
// Bağlantı oluşturma
$bag = mysqli_connect($sunucu, $kullanici, $parola, $veritabani);
// Bağlantı kontrolü
if (!$bag) {
die("Bağlantı hatası: " . mysqli_connect_error());
}
// Kayıt silmek için MySQL komutu
$sqlquery = "DELETE FROM personel WHERE adi='Ahmet'";
if (mysqli_query($bag, $sqlquery)) {
echo "Kayıt silme işlemi tamamlandı!";
}
else {
echo "Kayıt silme hatası: " . mysqli_error($bag);
}
mysqli_close($bag);
?>
Yukarıdaki örnekteki kodlar, bir önceki örnekte nesneye dayalı yöntemle yapılan kayıt silme işlemini fonksiyonel yöntemle gerçekleştirir.
3. PDO yöntemi ile
<?php
$sunucu = "localhost";
$kullanici = "kullanıcıadı";
$parola = "parola";
$veritabani = "veritabaniadi";
try {
$bag = new PDO("mysql:host=$sunucu;dbname=$veritabani", $kullanici, $parola);
// PDO hata modunu istisnaya ayarlama
$bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// MySQL tablo oluşturma komutu
$sqlquery = "DELETE FROM personel WHERE adi='Ahmet'";
$bag->exec($sqlquery);
echo "Kayıt silme işlemi tamamlandı!";
}
catch(PDOException $e) {
echo "Hata: " . $e->getMessage();
}
$bag = null;
?>
Yukarıdaki örnekteki kodlar, bir önceki örnekte fonksiyonel yöntemle yapılan kayıt silme işlemini PDO yöntemi ile gerçekleştirir.