CodeIgniter çatısında temel veritabanı işlemlerini gerçekleştirebileceğiniz komutlar bulunmaktadır. Bu komutlar insert, update ve delete şeklinde karşımıza çıkar. Bununla birlikte veritabanı tablolarınızdan tekli ve çoklu veri çekme yapılarıda mevcuttur. Şimdi bu komutları anlatmadan önce varsayılan ayarlarınız ile veritabanınıza bağlanmanız için gereken kodu paylaşalım.
Aşağıdaki kod yapısı size veritabanı bağlantı olanağı sunacaktır. İstediğiniz fonksiyon altında kullanabilirsiniz.
$db = \Config\Database::connect();
Veritabanından tekli ve çoklu veri çekme
CodeIgniter çatısında object ve standart modda veri çekilebilir. Bununla birlikte tekli ve çoklu veri çekebilmeniz de mümkündür.
Gelin örneklerimize bakalım;
Object türünden çoklu ve tekli veri çekme
Bu örneklerde kullanıcılar adlı bir veri tablonuz olduğunu varsayalım ve tablonuzdaki verilere object formatında erişelim.
$kullanicilar = $db->query(“select * from kullanicilar”);
$sonuclar = $kullanicilar->getResult();
Foreach($sonuclar as $kullanici_bilgileri)
{
echo $kullanici_bilgileri->kullaniciadi.”<br>”;
}
//Object türünde birden fazla kullanıcı adı bilgisini çektik.
//Object türünde veri çekmek için getResult() fonksiyonunu kullandık.
Standart dizi çıktısı üretmek için ise getResult_array() fonksiyonunu kullanabiliriz;
$sonuclar = $kullanicilar->getResult_array();
Foreach($sonuclar as $kullanici_bilgisi)
{
echo $kullanici_bilgisi[‘kullaniciadi’].”<br>”;
}
//Sonuçlar standart dizi olarak döndürüldü ve $kullanici_bilgisi[‘kullaniciadi’] yapısı kullanıldı.
//Standart dizi çıktısı almak için getResult_array() fonksiyonu kullanıldı.
Gelelim tekli veri çekme yönteminin nasıl olacağına. Burada getRow() object türünde çıktı elde etmek için kullanabileceğimiz gibi getRow_array() fonksiyonunu da standart dizi çıktısı elde etmek için kullanabiliriz.
$kullanici_bilgisi = $kullanicilar->getRow();
echo $kullanici_bilgisi->kullaniciadi;
//Object türünde tekli veri çektik.
$kullanici_bilgisi = $kullanicilar->getRow_array();
echo $kullanici_bilgisi[‘kullaniciadi’];
//Dizi türünde tek veri çektik ve $kullanici_bilgisi->kullaniciadi yerine $kullanici_bilgisi[‘kullaniciadi’] yapısını kullandık.
Veritabanı tablosuna veri ekleme
CodeIgniter çatısında veri eklemek için insert yapısını kullanabilirsiniz. Verileri dizi şeklinde kurgulayarak ekleyebilirsiniz.
$kullanicilar = [
‘kullaniciadi’=>’Sarper’,
‘kullanicisifre’=>’123321’
];
$db->insert($kullanicilar);
/*ukarıdaki yapıda kullanıcılar isminde bir dizi tanımladık. Tanımlanan dizide => işaretinin solunda veri tablomuzdaki sütun adını yazdık. Sağında da ise elde ettiğimiz verileri eklettik.*/
Veritabanı tablosunda veri güncelleme
CodeIgniter çatısında veri güncellemek için, elde edeceğiniz id değeriyle birlikte güncellemek istediğiniz sütun adına göre veriyi update fonksiyonuna parametre olarak atamalısınız. Örneği aşağıya alıyorum.
$id = 1;
$guncellenecek_veri = [
‘kullaniciadi’=>’Kullanıcıdan alınan veri’
];
$db->update($id,$guncellenecek_veri);
/*ukarıda update fonksiyonuna parametre olarak önce hangi değerin güncelleneceğini göstermek amacıyla $id parametresini ilk parametre olarak atadık ve ikinci parametre de ise güncellenecek veriyi dizi halinde göstermiş olduk.*/
Veritabanı tablosundan veri kaldırma
CodeIgniter üzerinde veri kaldırmak istediğimiz içeriğin id değerini göstermeliyiz.
$id = 1;
$db->delete($id);
Genel itibariyle temel veritabanı işlemleri yukarıdaki gibiydi. Ancak, birçok farklı veritabanı işlemi CodeIgniter veritabanı olayları bulunmaktadır. Daha fazla detay için CodeIgniter belgelerine bakabilirsiniz.