Öncelikle herkese merhaba PHP ile uğraşan herkes illaki Database ile bağlantı kurmaya çalışıp bilgileri çekmiş veya yedeklemiştir. Burada paylaşmak istediğim şey bu işlemleri kolay bir şekilde yapmanızı sağlayacak bir class sunmak Elimden geldiğince kodların içerisine açıklama eklemeye çalıştım Kodlar: Kod: <?php class bg_db { private $db = null; private $host = null; private $username = null; private $password = null; private $link = null; / Kaç defa sorgu yapılmış onu kayıt eden değişlen / public $query_count = 0; / Yapılan sorguları ekrana yazdırılsın mı? / public $echo_query = false; / Sorgu cümlelerinde hata çıkmasın diye çevrilen ifadeler / private $html_decodes = array ; private $html_codes = array ; / Temel foksiyonlar / / Class oluşturulduğunda direk çevrilecek harfleri çevir ve hazırda tut / function construct / Database'e bağlanma fonksiyonu ör: $db->connect ; / public function connect { function err / Eğer Hata fonksiyonu gönderilmediyse otomatik hata fonksiyonu ata / if $error_func = 'err'; $this->link = @mysql_connect or $error_func ; $this->db = $db; $this->host = $host; $this->username = $username; $this->password = $password; return mysql_select_db ; } public function close / Db'deki veilerin çevrilmesi / public function db_encode($encode="UTF-8") / Class'a özgü query gönderme fonksiyonu Bütün query cümlelerinin sonuçları bu fonksiyondan gönderilir Değişlenler: result_to_array: çıktının array olarakm mı döneceğini ayarlar; $query_clause: sorgu cümlesi $selector: hangi verinin değişkenlerinin toplanacağını belirler / private function send_query / Class'a özgü query'yi array haline çevirme fonksiyonu Bütün query sonucunu alır, selector varsa selector, yoksa hepsini array'a çevirir ve yollar / private function query_result_to_array { $str=null; while ($row = @mysql_fetch_assoc return $str; } / Class'a özgü verileri html code'lara çevirme veya tam tersini uygulama fonksiyonları / private function html_coder private function html_decoder private function convert_html_codes { foreach return $this->html_codes = $chars_codes; } / Temel cğmle oluşturma fonksiyonları Verileri cümleye eklerken kurallara uygun ve karakterleri uygun hale getirirler / private function set_clause_vars_and_vals { if return null; if( ! is_array ) return $data; $str = null; foreach return implode ; } private function set_clause_vals { if return null; if( ! is_array ) return $data; $str = null; foreach return implode ; } / En temel sorgu yollama fonksiyonu Kullanımı $db->query( true , "SELECT %s FROM %S WHERE %S", " ", "table_name", "id='1'" ); Yada $db->query( false , "SELECT FROM table_name WHERE id='1'"); / public function query / Yardımcı foksiyonlar / / Yapılan sorgunun sonucunun ilk satırını döndürür Kullanımı $db->query_first_row( "SELECT %s FROM %S WHERE %S", " ", "table_name", "id='1'" ); / public function query_first_row / Yapılan sorgunun sonucunun selector olarak gönderilen değişkenin ilk değerini döndürür Kullanımı $db->query_first_field( "str", "SELECT %s FROM %S WHERE %S", " ", "table_name", "id='1'" ); / public function query_first_field / Yapılan sorgunun sonucunun selector olarak gönderilen değişkenin değerlerini döndürür Kullanımı $db->query_one_column( "str", "SELECT %s FROM %S WHERE %S", " ", "table_name", "id='1'" ); / public function query_one_column / Select tipinde sorgu cümlesi oluşturup değeri array olarak döndürür / public function select / Select tipinde sorgu cümlesi oluşturup selector'ün ilk değerini döndürür / public function select_first_field / Select tipinde sorgu cümlesi oluşturup ilk satırı döndürür / public function select_first_row / Update tipinde sorgu cümlesi oluşturup sorgu cümlesini mysql'e gönderir / public function update / Insert tipinde sorgu cümlesi oluşturup sorgu cümlesini mysql'e gönderir / public function insert { if return false; //Verileri sütun ve değerleri olarak ayır foreach $query = "INSERT INTO " . $table. " (" . implode . ") VALUES (" . $this->set_clause_vals . ")"; return $this->send_query ; } / DELETE tipinde sorgu cümlesi oluşturup sorgu cümlesini mysql'e gönderir / public function delete } ?> Evet kodlarımızı da kopyaladıktan sonra artık başlayabiliriz Size bir iki numarasını göstereyim bu kütüphanenin Öncelikle class'ı ekledikten sonra bir değişkene bu class'ı atayalım Kod: $db = new bg_db ; Şimdi database'e bağlanalım Kod: $db->connect ; Basit bir cümle gönderelim Kod: $db->query ; Şimdi burada ilk başta true dememizin sebebi gelen bilgileri array olarak sıralanmasını sağlamak %s ise oraya sonradan belirttiğimiz değerin atanmasını sağlar Eğer 'C' ile aranız biraz iyiyse oradaki printf fonksiyonunu burada uyguladık diyebiliriz Şimdi de kütüphane ile SELECT cümlesini basit bir şekilde oluşturalım Kod: $db->select( " ", 'tablo_adı', array( array('id'=>1), array('ss'=>2) ) ) Burada ise ilk başta hangi bilgilerin çekileceği, tabo adı ve nerede aranacağı şeklince bir yapı vardır isterseni nerede aranacağı kısmını düz metin olarak girebilirisniz isterseniz array olarak şekildeki gibi girebilirsiniz Buradaki çıktımız array içinde çıktılardan oluşacaktır UPDATE cümlesi oluşturalım Kod: $db->insert( 'tablo_adı', array( array('id'=>1), array('ss'=>2) ), "id='2'" ) Burada ise UPDATE için önce tablo ismi sonra değişecek bilgiler sonra nerede olduğunu girdim, burada nerede olduğunu yine array olarak select'teki gibi yazabilirsiniz bu size kalmış ben sadece cümle olarak nasıl ifadede ederiz bu örnekte göstermek istedim Yalnız nelerin değişeceği illaki array olarak verilmiş olmalı!! Şimdi de INSERT cümlesi oluşturalım Kod: $db->insert( 'tablo_adı', array( array('id'=>1), array('ss'=>2) )) Burada ise yine tablo adı sonra nelerin ekleneceği şeklinde bir yapı var. Nelerin ekleneceği array olmalı! DELETE cümlesi oluşturma Kod: $db->delete( 'tablo_adı', array( array('id'=>1), array('ss'=>2) )) Burada ise önce tablo ismi sonra nerede olduğu verilir. Nerede olduğunu isterseniz cümle olarak da ifade edebilirsiniz. Aslında bu kütüphanenin bir iki numarası daha var ama vakit sıkıntısından dolayı ve ilgiye göre klavuza eklerim, HERKESE İYİ KODLAMALAR!!!

Emek harcamissin guzel ipucu zaman ayirmissin konuya tesekkurler