Ana Sayfa » »
Tem
25
2013

WordPress $wpdb Sınıfı: UPDATE (Güncelleme) İşlemleri

WordPress veritabanı sınıfını anlattığım serinin bu üçüncü bölümünde, veritabanında var olan bir kaydın, $wpdb sınıfı ile nasıl güncelleneceğini anlatacağım. Normalde bu işlem için sınıfın query() fonksiyonunu kullanıp, bir UPDATE SQL sorgusunu çalıştırmak yeterlidir, ancak güvenlik açısından bu iş için özelleştirilmiş update() fonksiyonunu kullanmak yerinde olacaktır.

update() Fonksiyonu ile Veritabanındaki Kayıtları Güncelleme İşlemi

Bu fonksiyonun kullanımı genel olarak $wpdb->update( $tabloadi, $veriler, $koşul, $bilgibiçimleri, $koşulbiçimleri); şeklinde olup, toplam 5 parametre alır. Bu parametreler sırasıyla, güncelleme işleminin yapılacağı tablo adı, güncellenecek alanlar ve değerleri, güncellenecek kaydı bulmak için kullanılacak WHERE koşulu, güncellenecek değerlerin veri türü ve son olarak ise WHERE koşulu içerisindeki değerlerin veri türü'dür. Aşağıdaki örnek 15 nolu yazının imdb puanı özel alanı değerini 7.5 olarak günceller..

<?php
   $postmeta = $wpdb->update($wpdb->postmeta, array("meta_value" => 7.5), array ("post_id" => 15, "meta_key"=>"imdb_puani"), array("%f"), array("%d", "%s"));

//Kodun eşdeğeri aşağıdaki sorguyu çalıştırmakla aynı olacaktır.
//UPDATE $wpdb->postmeta SET meta_value=7.5 WHERE post_id = 15 AND meta_key = 'imdb_puani';

?>

Gördüğünüz gibi fonksiyon ile kolayca bir kaydı güncellemek mümkün. Ancak SQL'de UPDATE fonksiyonu tehlikeli fonksiyonlardan biridir, eğer WHERE kısmını doğru bir şekilde belirtmezseniz, veritabanında istemediğiniz değişiklikler yapabilirsiniz. Bu nedenle özellikle WHERE ifadesini oluştururkan iki kere kontrol edin.
Parametrelerde değer olarak sayısal, metinsel ve ondalıklı sayı değerleri kullanılabilir, bunların doğrulaması için ise sırasıyla %d, %s ve %f ifadeleri kullanılır.

Bu yazımı beğendiyseniz, bu kategoride yer alan WordPress $wpdb Sınıfı: INSERT (Ekleme) İşlemleri başlıklı fonksiyon, query ve sql konularında bilgi veren bir önceki yazımı da okumanızı tavsiye ederim.

Yorumunu Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yukarı Çık