Kendi yazdığım veritabanı sınıfımı paylaşıyım. Sadedir ama her işimi çok basit şekilde hallediyorum.

NZ-Query.php
<?php
/* |NZ_DBQuery | @mail = nizzo@windowslive.com| */

class NZ_DBQuery
{
    #    Veritabanı Bağlantı Değişkeni
    var $connect     = null;
    
    #    SQL Sorgu Cümleciği Değişkeni
    var $sql         = null;
    
    #    Sorgu Çalıştırma Değişkeni
    var $query         = null;
    
    #    Sorgu Sonucunu Tutan Durum Değişkeni
    var $case         = null;
    
    #    Sorgu Sonucu Elde Edilen Satır Sayısını Tutan Değişken
    var $count         = null;
    
    #    Sorguyu Tutan Değişken
    var $row         = null;
    
    #    Sorgu Sonucunu Tutan Değişken
    var $result     = null;
    
    #    Çoklu Sorguda Alınan Verileri Tutan Dizi
    var $results     = array();
    
    
###########################################################################
    
    
    /*
     |Veritabanında sorgu çalıştırmak| 
    */
    public function Query()
    {
        
        /* Sorguyu çalıştırıyoruz */
        $this->query = mysql_query($this->sql, $this->connect) or die (mysql_error());
        /**************************/
        
        /* Sonuç olumlumu kontrol ediyoruz */
        if($this->query): 
        
            /* Sorguyu farklı fonksiyonlarda kullanmak için alıyoruz */
            $this->row = $this->query;
            /*********************************************************/ 
            
            /* Sorgu başarılı olduğu için case'i true yapıyoruz */
            return $this->case = true; 
            /****************************************************/
        
        else: 
            
            /* Sorgu başarısızsa case'i false yapıyoruz */
            return $this->case = false;
            /********************************************/ 

        endif;
        /***********************************/
        
    }
    /*
     |Query() - sonu| 
    */
    
#############################################################################
    
    
    /*
     |Veritabanından kayıt sayısı almak| 
    */
    public function Count()
    {
        
        /* Sorgumuzu çalıştırıyoruz */
        $this->Query();
        /****************************/
        
        /* Kayıtları diziye aktaryoruz */
        $this->count = mysql_fetch_array($this->row);
        /*******************************/
        
        /* Dizinin ile elemanını alıyoruz */
        $this->count = $this->count[0];
        /**********************************/
        
        /* Sonuç varsa dönen sorgu sonucunu aksi halde false geri gönderiyoruz */
        if($this->count > 0) return $this->count; else return false; 
        /***********************************************************************/
            
    }
    /*
     |Count() - sonu| 
    */
    
############################################################################
    
    /*
     |Veritabanından tek satır çekmek|
    */
    public function Row()
    {
        
        /* İstediğimiz kayıt varmı cevap bekliyoruz */
        if($this->Query() !== false):
        
            /* Dönen kayıtı alip return ile geri gönderiyoruz */
            return $this->result = mysql_fetch_assoc($this->row);
            /**************************************************/
        
        /* İstediğimiz kayıt bulunamamışsa dönüş değerini false yapıyoruz */
        else: return false; endif;
        /******************************************************************/    
        
    }
    /*
     |Row() - sonu| 
    */

#############################################################################
    
    /*
     |Veritabanından birden fazla sonuç çekmek|
    */
    public function Results() //Kullanım : $db->Results();
    {
        
        /* Sorgu'dan dönüş cevabını alıyoruz */
        if($this->Count() !== false):
        
            /* Kayıt bir ve üstü ise verileri almak için çalıştıryoruz */
            $this->Query();
            /***********************************************************/
            
            /* Kayıt alanlarını sırasıyla diziye aktarıyoruz */
            while($this->result = mysql_fetch_array($this->row)):
            
                /* İşlenen kayıtı dizimize ekliyoruz */
                $this->results[] = $this->result;
                /*************************************/
                
            endwhile;
            /**************************************************/
            
            /* Dizimizin son halini geri gönderiyoruz */
            return $this->results;
            /******************************************/

        /* Kayıt bulunamamışsa fonksiyondan false değer gönderiyoruz */
        else: return false; endif;
        /*************************************************************/
        
    }
    /*
     |Results() - sonu|
    */
}
?>

Kullanılışı
<?php
require "NZ-Query.php";

$db = new NZ_DBQuery();
$db->connect = $veritabaniBaglantiDegiskeni;

$db->sql = "Select * From kategoriler";

/* Sorgu Çalıştırma
    
    if( $db->Query() !== false ) echo "Sorgu sorunsuz çalıştı"; else echo "Sorgu çalışırken hata oluştu";
    
*/


/* Kayıt sayısı alma

    if( $db->Count() !== false ) echo $db->count; else echo "Kayıt bulunamadı";

*/


/* Tek kayıt çekme

    if($db->Row() !== false) echo $db->result['categoryName']; else echo "Kayıt bulunamadı";

*/


/* Çoklu kayıt çekme

    if( $db->Results() !== false ):
    
        foreach ($db->results as $db->result):
        
            echo $db->result['Name']  . '<br />';
        
        endforeach;

    else: echo "Kayıt Bulunamadı"; endif;
*/
*?>
Veritabanı bağlantı methodlarınıda istiyen eklesin ben farklı sayfalarda tuttuğum için gerek görmiyorum.