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]');
Merhabalar,
Birden fazla kolonda like işlemi yapmak için nasıl bir yol izleyebilirim. Yardımcı olursanız sevinirim.
Şunu deneyebilirsin;
Peki işin içine bir formdan gelen veri olursa aldığımız değeri değişkene atip mı deniceğiz
Şu şekilde deneyebilirsin;
tek sayfadan çoklu veri nasıl ekleyebilirim 2 textbox olucak 2 sütun eklicek
Hocam sınıfın içerisinde REGEXP veya JSON_ komutları var mıdır ?
Like sadece tek bir kelime kiyaslanirsa doğru sonuç veriyor. Soundex kullandım bu da çok uzak alternatif sonuçları da listeliyor.
formdan gelen verim tek kelimede olabilir birden fazla kelimede. Bunu bilemiyoruz tabi.
Bu durumda where ve or_where secenegini kullanmaliyiz like ile elbette ama ben aranacak verinin kaç kelime olduğunu bilmedigimden kodu uzatmadan tek seferde bunu nasıl saglayabilirim.
aklima gelen yöntem gelen veriyi explode ile parcalayip count ile sayip sonuc 1 ise düz bir like, sonuç 2 ise where ve or_where ile like, sonuç ikiden büyükse ? bir döngü kurmam gerek bana bunu yazabilir misiniz? Son cümlede yani sonuç 2 den büyükse kısmında takılıyorum.
Eğer tablo null ise yani where sutun IS NULL nasıl bir sorgu yazmak lazım