Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
PHP Programlama

BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > PHP > Kayıt silme

Kayıt silme

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.