BasicDB ile Kolay Veritabanı İşlemleri

1 yıl kadar önce size şu dersimde pdo kullanımını anlatmıştım.
Ancak gerek uzman cevap’ta gerekse gelen maillerde pdo kullanımında sıkıntı yaşıyan arkadaşlar olmuş.
Uzun bir süre önce bende kendi işlerimde kullanmak için pdo’ya ait BasicDB adında bir alt sınıf hazırladım.
Bu sayede veritabanı işlemlerimi daha kolay ve anlaşılır yapabiliyorum.
Sizlere de bu videomda bu sınıfın kullanımını örneklerle anlatacağım.

BasicDB Github Sayfası;
https://github.com/tayfunerbilen/BasicDB

Veritabanı Bağlantısı

$db = new BasicDB('host', 'vtadı', 'kadı', 'şifre');

Veri Ekleme Örneği

$query = $db->insert('uyeler')
            ->set(array(
                 'uye_adi' => 'test',
                 'uye_sifre' => 123456,
                 'uye_eposta' => '[email protected]'
            ));
   
if ( $query ){
  echo 'Last Insert Id: '.$db->lastId();
}

Veri Güncelleme Örneği

$query = $db->update('uyeler')
            ->where('uye_id', 2)
            ->set(array(
                 'uye_adi' => 'başka ad'
            ));
   
if ( $query ){
  echo 'uye guncellendi.';
}

Veri Silme Örneği

$query = $db->delete('uyeler')
            ->where('uye_id', 2)
            ->done();
   
if ( $query ){
  echo 'veri silindi.';
}

Veri Listeleme Örneği

// select
$query = $db->from('icerikler')
            ->join('uyeler', '%s.uye_id = %s.icerik_uye_id', 'left')
            ->where('icerik_onay', 1)
            ->or_where('icerik_onay', 2)
            ->orderby('icerik_id', 'desc')
            ->groupby('icerik_uye_id')
            ->limit(0, 10)
            ->all();
   
if ( $query ){
  foreach ( $query as $row ){
    print_r($row);
  }
}

Tekli Veri Listeleme Örneği

$row = $db->from(‘icerikler’) ->where(‘icerik_id’, 5) ->first(); print_r($row);

Sayfalama Örneği

// toplam veri
$totalRecord = $db->from('users')
                  ->select('count(user_id) as total')
                  ->total();

// sayfa başına kaç veri gözükecek?
$pageLimit = 4;

// sayfa parametresi? Örn: index.php?page=2 [page = $pageParam]
$pageParam = 'page';

// limit için start ve limit değerleri hesaplanıyor
$pagination = $db->pagination($totalRecord, $pageLimit, $pageParam);

// normal sorgumuz
$query = $db->from('uyeler')
            ->orderby('uye_id', 'DESC')
            ->limit($pagination['start'], $pagination['limit'])
            ->all();
            
print_r($query);

// sayfalamayı yazdır
echo $db->showPagination('http://localhost/test/?'.$pageParam.'=[page]');

Bir cevap yazın

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