Merhaba arkadaşlar bir önceki yazımla birlikte PDO’ya genel olarak bir giriş yapmıştık şimdi ise PDO ile CRUD işlemleri nasıl yapılır bunlardan bahsedeceğim. Bütün yazı boyunca sorgularımı prepare ederek kullanacağım bu bahsettiklerimden bir şey anlamıyorsanız öncelikle bir önceki yazımı okumanızı tavsiye ederim.

Bu yazıma öncelikle CRUD’un ne olduğundan bahsederek başlayacağım daha sonra ise PDO kullanarak bu işlemlerin nasıl gerçekleştireceğinden bahsedeceğim.

CRUD Nedir ?

CRUD, Create Read Update Delete kavramlarının baş harflerini almış bir kısaltmadır yani türkçesi Oluştur, Oku, Güncelle ve Silme işlemlerine biz genel olarak CRUD adını veriyoruz. Şimdi bu CRUD işlemlerini PDO ile nasıl yapabiliriz diye sorarsanız bu yazımda sadece Create, Update ve Delete kısmından bahsedeceğim. READ kısmından ise detaylı bir şekilde bir sonraki yazımda bahsedeceğim.

PDO Create (INSERT) İşlemi

PDO ile veri eklemek yani INSERT işlemini yapmak aslında çok basittir. Tek yapmamız gereken bir PDO bağlantısı oluşturmak ve önce sorgumuzu prepare edip daha sonra execute ederek işlemimizi tamamlamak şimdi bu işlemi koda dökmeye başlayalım.

$db = new PDO("mysql:host=localhost;dbname=test;charset=utf8", "root", "root");

şeklinde bir veri tabanı bağlantımı sağlamış oldum şimdi veri eklemesi yapacağım tablodan bahsetmek gerekirse tablomuz şu şekildedir.

explain users komutunun görüntüsü

şeklindedir şimdi biz bu users tablosuna yeni bir kullanıcı ekleyelim.

$query = $db->prepare('INSERT INTO users SET username = ?, user_pass = ?, mail = ?');
$add = $query->execute(['aydncn','test','aydncn@test.com']);

şeklinde sorgumuzu çalıştırabiliriz. Şimdi biz bu sorguyu çalıştırdık ama gerçekten veri ekledimi bunu nasıl kontrol edebiliriz diye sorabilirsiniz bunu da if-else ile kontrol edeceğiz.

if($add){
    echo 'Ekleme başarılı';
}else{
    echo 'Ekleme başarısız';
}

bu işlemler sonunda ekrana çıkan yazıya göre işleminizin başarılı olup olmadığını anlayabilirsiniz.

PDO Update(Güncelleme) İşlemi

PDO ile veri güncellemek hemen hemen veri ekleme(insert) ile aynı şekilde olduğunu söyleyebiliriz. Hemen ne demek istediğimi kodla anlatmaya başlarsak.

$query = $db->prepare('UPDATE users SET user_pass = ? WHERE id = ?');
$update = $query->execute(['test1',1]);

burada id’si 1 olan kullanıcının şifresini test1 olarak değiştirdik. Bu işlemin gerçekleşip gerçekleşmediğini kontrol etmek için de hine yukarıda yaptığımız gibi bir if-else kontrolü yapmamız gerekiyor.

if($update){
    echo "Güncelleme başarılı";
}else{
    echo "Güncelleme başarısız";
}

PDO Delete (Silme) İşlemi

PDO’da silme işlemi aslında en kolay olanıdır execute edeceğimiz değer genellikle 1 tanedir. Hemen bu işlemi de koda dökerek anlatmaya başlamak gerekirse

$query = $db->prepare('DELETE FROM users WHERE id = ?');
$delete = $query->execute([1]);

şeklinde kodlarımızı yazıp çalıştırdığımız da users adlı tablodaki id değeri 1’e eşit olan kullanıcımızı tablodan silmiş oluyoruz.

Hine bu kodların çalışıp çalışmadığını anlamak için

if($delete){
    echo "Silme işlemi başarılı!";
}else{
    echo "Silme işlemi başarısız!";
}

şeklinde bir kontrol yapmanız gerekiyor.

Özet,

Bu yazımda PDO ile CRUD işlemlerinden Create(Veri Ekleme), Update(Veri Güncelleme), Delete(Veri Silme) işlemlerinden bahsettim. Bu işlemleri yaparken prepare edilip daha sonra execute edilerek nasıl kullanılacağını gösterdim.

Bir sonraki yazımda PDO CRUD da Read(Veri Okuma) kısmından bahsedeceğim. O zamana kadar PHP hakkında yazdığım yazıları merak ediyorsanız buraya tıklayınız Ayrıca burada yazılmış olan SQL sorguları size karmaşık geliyorsa MySQL hakkında yazmış olduğum yazılarıda incelemelisiniz.