WordPress Veritabanı ($wpdb Sınıfı)

WordPress Veritabanı ($wpdb Sınıfı)

Tarhi : 30-03-2019 01:36:36 | Yazar : ÇAĞLAR BOSTANCI





$wpdb Class

 

Merhaba değerli arkadaşlar. Bu yazımda sizlere wordpressde veritabanı işlemlerini nasıl yapacağınızı anlatacağım. WordPressde veri tabanı ile etkileşime girmek için $wpdb sınıfı kullanılmaktadır. Ayrıca kendinizde pdo veya mysqli ile bir veri tabanı bağlantısı kurup yönetebilirsiniz. Örnek bir pdo bağlantıs kurmak için buraya tıklayabilirsiniz. Yine mysqli ile ilgili bir bağlantı kurmak istiyorsanızda bu linke tıklayabilirsiniz.
Ben bu yazıda sizlere $wpdb sınıfı anlatacağım ve bir çok örnek kullanacağız. wpdb() sınıfını kullanmak için direk dosyayı çağırmamalısıznız bunun yerine


şeklinde sayfada istediğiniz gibi kullanabilirsiniz. Bu sınıf wordpressin /wp-includes/wp-db.php dizininde bulunmaktadır. Ayrıca bu sınıfı kendi editörünüzde açarak tek tek inceleyebilirsiniz. Ama sayfa include(“wp-includes/wp-db.php”); şeklinde çağırmanıza gerek yok çünkü wordpress kendi ilgili sınıfları sayfaya yüklerken çağırmaktadır.
İlk olarak $wpdb sınıf ile veri tabanından bir veri çekelim.

$wpdb->get_results Kullanımı

Bu sql de options sayfasından option_id sutununda bulunan 1 numaralı satırı çektik. Ayrıca sql içerisinde geçen $wpdb->prefix methodu ise wordpress kurulumnda vermiş olduğunuz tablo ön ekini getirmektedir. İkinci parametre olana OBJECT ise veritabanından gelecek olan verileri bir nesne olarak almamızı sağlamaktadır. Peki gelen verileri ekrana nasıl basacağız?

SELECT a Column

Yukardaki örnek veri tabanından sadece tek satırlık veri alındığında uygulanmaktadır. Eğer Option tablosunu komple verileri çekmek istiyorsanız aşağıdaki gibi kullanmanız gerekmektedir.

 

Bu örneklerde kullanmış olduğumuz wordpressin kendi tabloları içindi. Aşağıdaki örneklem ise wordpressin dışındaki tablolarınız içinde kullanabilirsiniz.

!ÖNEMLİ UYARI: $wpdb->get_result(“sql”,diziTipi) kullanımı sql injection saldırılarına karşı açıktır dışardan gelen verilerde bu yöntemi kullanmayın. Bu yöntem veri hızlılığı nedeniyle veritabanından hızlı veri okumaları için kullanabilirsiniz.

$wpdb->get_var Kullanımı

WordPress wpdb sınıfında bulunan get_var method u sadece bir değer dönderir direk veri okumalarında aşağıdaki gibi kullanılır.

 


Eğer dışarıdan gelen verilerde bu methodu kullanmak istiyorsanız aşağıdaki gibi kullanmanız gerekmektedir.

$wpdb->get_row Kullanımı

Wordpress de tek satırlık ve birden çok satırlık verileri kullanmak istiyorsanız bu methodu kullanabilirsiniz. Aşağıdaki örnekte tek satır veri alabilmek için kullanılan script verilmiştir.

Veri tabanından gelen satırlarında hangi dizi ve index tipinde gelmesini ise üç tipde belirliye biliyoruz. Bu kullanım PDO sınıfında PDO:FETCH_OBJ-PDO::FETCH_ASSOC-PDO::FETCH_NUM şeklinde kullanılırken. $wpdb klasında ise OBJECT-ARRAY_A-ARRAY_N şeklinde kullanılmaktadır. Varsayılan olarak OBJECT kullanılmaktadır.

veri transferinde ARRAY_N ile ilgili örnek ise aşağıdaki gibidir.

ÇOK SATIRLI VERİLERDE

TEK SATIRLI VERİLERDE

$wpdb->insert() ile Veritabanına Veri Ekleme

Bu method da öncelikli olarak veri girilecek tablo seçiliyor. İkinci parametrede veri girilecek sütunlar belirleniyor ve son parametrede ise veri tabanına girilecek verilerin tipleri belirleniyor.

$wpdb->replace() Kullanımı

Bu method ile veritabanındaki verilerimizi istediğimiz bir şekilde değiştirebiliriz. İnsert gibi üç parametrede kullanılıyor. Birinci parametrede tablo seçliyor. İkinci parametrede replace edilecek dizi veriliyor. (Method içinde verildiği gibi method dışında oluşturulmuş bir dizide verilebilir.) Son parametre olarak replace edilecek verilerin türleri belirleniyor.

$wpdb->update() Kullanımı.

WordPress’de verileri güncellenmek için kullanılmaktadır.

Bu method beş parametreden oluşmaktadır. Birinci parametrede veritabanından güncellenecek tablo seçilir. İkinci parametrede güncellencek sütunlar ve veriler belirlenir. Üçüncü parametrede sql in şartı verilir. Dördüncü parametrede veri girişi yapılacak sütünların veri türleri dizi olarak verilir. Son parametrede ise where şartında kullanılan verilerin data tipi dizi olaraka belirtilir.

$wpdb->delete() Kullanımı

Bu method üç parametreden oluşmaktadır. Birinci parametrede veritabanından tablo seçilir. İkinci parametrede where şartı belirlenir ve son parametrede ise where şartındaki parametre tipi belirtilir.

$wbdp->query() Kullanımı

$wpdb sınıfında bana göre dışarıdan gelen verilerde kesinlikle bu kullanılmalıdır. Hatta bazı ataklar için de ben kendime özel önlemler alıyorum. Sizlerde bu gibi önlemler alabilirsiniz. Tabi bu sizin kanaatinize kalmış bir durum ama kesinlikle dışadan gelen verilerde $wpdb->prepare() kullanılmalıdır.

$wpdb->show_errors(), echo $wpdb->print_error(),$wpdb->hide_errors() Kullanımı

SQL sorgularında hataları görebelmemiz içine $wpdb->show_errors() fonsiyonunu kullanırken gizlemek içinse $wpdb->hide_errors(); kullanmaktayız. Hataları ekrana basmak içinse

Biraz uzun soluklu oldu ama Wordpres Veritabanı işlemlerinde çoğu sorununuza yanıt verecek şekilde oldu. Faydalı olması dileğiyle. BAŞARILAR.


WORDPRESS

WordPress Veritabanı ($wpdb Sınıfı)