Yakın zamanda hazırladığım, bir süre kullandığım ve hatalardan arındırdığım PHP MYSQL veritabanı sınıfımı arkadaşım Mete‘nin önerisi üzerine sizlerle paylaşmak istiyorum. Kimi programcılar için en iyisi dolaysız yolu dese bile ben bu hazırladığım çalışmayı alternatif olarak görüyorum. Genel olarak kod tekrarlamalarını engelliyor ve bir kaç konuda da pratiklik sağlıyor. Böyle birşeyi hazırlamam Wordpess için hazırlamaya çalıştığım eklentide Wordpress’in veritabanı sınıfıyla karşılaşmamla oldu. Benim yaptığım bir nevi kodları türkçeleştirmek gibi gözükse bile türkçeleştirmek dışında bizim kullanmayacağımız genel kavramlar dışında olan bizim işimize yaramayacak olan fonksiyonları kaldırdım. Ayrıca her scriptte ve her projede rahatlıkla kullanabileceğimiz bir hale soktum.
Bu sınıf için hazırladığım ornek.php sayfasında güzelce uygulamalı anlattım. Şimdi yazımda baştan anlatmak yerine direk o sayfayı buraya yansıtmak istiyorum. Ama ben burdan değil, dosyaları bilgisayarıma indirip rahat rahat bakmak istiyorum diyorsanız; bu PHP veritabanı sınıfı derlemesini indirmek buraya tıklayın.Yok önce bir göz atıyım diyorsanızda buyrun;
<?php /************************\ * PHP Veritabanı Sınıfı * * Örnek uygulaması * \************************/ // İlk olarak sınıfı scriptimizde çağırıyoruz require_once 'phpdb.php'; // Ardından bir değişken üzerinden sınıfımızı tanımlıyoruz. // Burada veritabanı adını, kullanıcısını ve şifresini belirtiyoruz. // db( kullanıcı , şifre , veritabanı adı , host ); // Host kısmı varsayılan olarak 'localhost' tur, farklı değilse tanımlamanıza gerek yok. $db = new db('root','','test'); // Bir sorguyu direkt, dolaysız olarak çalıştırmak için; sorgu() fonksiyonu kullanıyoruz. // Hata tamponu dışında mysql_query() fonksiyonu ile aynı işlevdedir. // sorgu( sql sorgusu ); $sorgu = $db->sorgu('SELECT * FROM uyeler'); // Bir sorgudaki tek değeri almak için; al() fonksiyonunu kullanıyoruz. Bu fonksiyon dönen sorgudaki ilk sonucu verir. // Örnekte tablodaki toplam üye sayısını aldık. // al( sql sorgusu ); $toplamUye = $db->al('SELECT COUNT(ID) FROM uyeler'); // Tablodan bir satırı çekmek için; satir() fonksiyonunu kullanıyoruz. Bu fonksiyon ilk dönen satırdaki sonucu verir. // Sonucu iki türde alabiliyorsunuz. varsayılan olarak tür object belirlenmiştir. Array olarak almak için tür kısmına 'array' değerini verin. // Örnekte bir üyenin tüm bilgilerini çektik. // satir( sql sorgusu , tür ); $kullanici = $db->satir('SELECT ad,soyad,email FROM uyeler WHERE ID = 1'); echo "Kullanıcı adı : $kullanici->ad <br/>\n" . "Soyadı : $kullanici->soyad <br/>\n" . "Email : $kullanici->email<br/>\n"; // Tabloda bir sütunu çekmek için; sutun() fonksiyonunu kullanıyoruz. Bu fonksiyon da tablonuzda bulunan bir değerdeki tüm sonuclarını alabilirsiniz. // Burada sonuç array cinsindendir ve dönen sonuç seri halinde dizilir. // Örnekte tüm üyelerin adı alınmıştır. // sutun( sql sorgusu , tür ); $uyeAdlari = $db->sutun('SELECT ad FROM uyeler'); $say = 0; foreach( $uyeAdlari as $ad ) { $say++; echo "$say. Üye Adı : $ad<br/>\n"; } // Tabloda bir bütün sonuç almak için; sonuc() fonksiyonu kullanılır. Burada sorguda dönen tüm verileri alarsınız. // Sonucu, satir() fonksiyonunda olduğu gibi iki türden alabilirsiniz. Varsayılan object türündendir. // Örnekte tablodaki tüm üyelerin adları, soyadları ve email adresleri çekilmiştir. // sonuc( sql sorgusu , tur ); $uyeler = $db->sonuc('SELECT * FROM uyeler'); foreach( $uyeler as $uye ) { echo "Ad : <b>$uye->ad</b> Soyad : <b>$uye->soyad</b> Email : <b>$uye->email</b> <br/>\n"; } // Tabloya yeni bir veri girmek için; ekle() fonksiyonu kullanılır. Burada arraydaki ifadeyi tablodaki değerlerle bütünler. // Örnek olarak yeni bir üye ekledik. // ekle( tablo adı , eklenecek veriler dizini(array) ) $yeniUye['ad'] = 'Ahmet'; $yeniUye['soyad'] = 'Bilir'; $yeniUye['email'] = 'ahmet@bilir.com'; $db->ekle('uyeler',$yeniUye); // Tablodaki bir veride güncelleme yapmak için; guncelle() fonksiyonu kullanılır. Mantık ekle() fonksiyonundaki dizin mantığıyla aynıdır. // Fakat burada sorguda kullanılacak 'WHERE' seçmesi için yeni bir array daha vardır. // Örnekte bir kullanıcının adını değiştirdik. ahmeti olan adları Hasan'a çevirecek. // guncelle( tablo adı , değişecek veriler dizini(array) , bulmak için where dizini(array) ); $degistir['ad'] = 'Hasan'; $bul['ad'] = 'Ahmet'; $db->guncelle('uyeler',$degistir,$bul); // Tabloda bir veri silmek için; sil() fonksiyonu kullanılır. Kullanımı guncelle() fonksiyonuyla aynıdır. Sadece 'WHERE' seçmesi için bir array istenir. // Örnekte adı Hasan olan üyeyi sildik. // sil( tablo adı , where dizini(array) ); $sil['ad'] = 'Hasan'; $db->sil('uyeler',$sil); // Hepsi bu kadar :) İyi kodlamalar .! ?>

Bunlara da bir gözat:





Güzel bir çalışma, klavyene, parmaklarına, gözüne, ellerine sağlık Musa.
Teşekkür ederim Oğuz (:
yine döktürüyosun Musa :) ellerine sağlık.
PHP için yeni MYSQL sınıfı…
PHP de kodlama yaparken MYSQL kullanımını kolaylaştıracak harika bir php sınıfı(class)….
oyyla.com tarafından — 14 Eylül 2008 @ 17:47
Teşekkürler. Güzel bir çalışma olmuş.
Kullanan arkadaşlar varsa, buraya kullandıklarını söylerlerse mutlu olurum.
Küçük bir hata düzeltildi, kullanan arkadaşlar yeniden indirip yenilesinler (:
Musa bahsettiğinde pek büyütmedim açıkcası ama haksızlık etmişim xD
Yeni başladığımı bi kez daha anladım, eline sağlık :)