CREATE TABLE `sayac_tablom` (
  `id` int(1) NOT NULL auto_increment,
  `tekil_hit` int(15) NOT NULL,
  `cogul_hit` int(15) NOT NULL,
  `gun` int(5) NOT NULL,
  `ay` int(3) NOT NULL,
  `yil` int(3) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=30 ;


INSERT INTO `sayac_tablom` VALUES (29, 1, 47, 6, 3, 2009);
INSERT INTO `sayac_tablom` VALUES (28, 2, 355, 5, 3, 2009);
INSERT INTO `sayac_tablom` VALUES (27, 2, 68, 4, 3, 2009);
<?php


function sayac(){
    global $db;
    $ip = $_SERVER['REMOTE_ADDR'];
    $tarih = time();
    $gun = date('d');
    $ay = date('m'); 
    $yil = date('Y');
    
    $zamanasimi = time()-86400; 
    $db->query("Delete From ip_tablom where zaman < ".$zamanasimi);
    
    $ip_sayi = $db->get_var("Select Count(ip) From ip_tablom where ip='$ip'");
    $hit = $db->get_var("select Count(tekil_hit) from sayac_tablom where gun='$gun' and ay= '$ay' and yil='$yil'");
    
        
        if($hit>0)
        {
            if($ip_sayi == 0)
            {
                $ece->db("Insert Into ip_tablom (ip, zaman) Values ('$ip', '$tarih')");
                    
                $ece->db("update sayac_tablom 
                    Set 
                    tekil_hit=(tekil_hit+1), cogul_hit=(cogul_hit+1)
                    where
                    gun='$db' and ay='$ay' and yil='$yil'
                    ");
                
            
            }else
            {
            
                $db->query("update sayac_tablom 
                    Set 
                    cogul_hit=(cogul_hit+1)
                    where
                    gun='$gun' and ay='$ay' and yil='$yil'
                    ");
            }
            
        
        }else
        {
            if($ip_sayi == 0)
            {
                $db->query("Insert Into ip_tablom (ip, zaman) Values ('$ip', '$tarih')");
                        
            }
            
            $db->query("insert into sayac_tablom
                        (tekil_hit,cogul_hit,gun,ay,yil)
                        values
                        ('1','1','$gun','$ay','$yil')
                        ");
            
        }

    

}
?>
şöyle bir yapıda değiştirdim ayak üstü hata yoktur muhtemelen... belki uzun yoldur kısasını yapan çıkar
gun ay yil bazında server saatine göre kaydeder ...
kullanımı : sayac();

dipnot:
benim kullandığım bir veritabanı class ı olduğu için kodları bu şekilde yazmıştım ( $db->query(); gibi) .. onu normal mysql_query diye çevirmeniz lazım...