biraz daha farklı yapıda bir sınıfım var. çalışma mantığı şöyle;
veritabanında tablolarımız ve tablolarımıza karşılık gelen sınıflarımız var. kullanıcı tablosu için veritabanında id, kullaniciadi, sifre, eposta, adi, soyadi, sehir, adres, postakodu, telefon, websitesi, onay alanlarının olduğunu düşünürsek ona karşılık gelen php sınıfımızda
 class Kullanicis
{

    public $id;
    public $kullaniciadi;
    public $sifre;
    public $eposta;
    public $adi;
    public $soyadi;
    public $sehir;
    public $adres;
    public $postakodu;
    public $telefon;
    public $websitesi;
    public $onay;
	
	function __construct()
	{
		$this->kullaniciadi = 'dene';
	}
    
}
şeklinde oluyor. veritabanı sınıfı, kullanıcı sınıfındaki property adlarını okuyarak ilgili kaydı sizi sorgu yazmak sorunda bırakmadan kendisi ekleyebiliyor ve düzenleyebiliyor. kendi işlerimde lazım olduğu için bi ara yazmıştım ama yarım kaldı.
<?php
/**
 * @author İsmail Perim <http://ismailperim.net> <ismailperim@gmail.com>
 * @copyright 2009 © İsmail Perim <http://ismailperim.net> <ismailperim@gmail.com>
 * @license Licensed under the GNU General Public License, version 2. 
 * @license the file http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
 * @version $Id: genel.vtislem.php  2010-01-04 23:36:06$
 **/
 
 
class VTIslem
{
	public $TabloAdi;
	public $IslemTuru;
	public $Sinif;
	public $IslemDisi;
	private $sinifDizi;
	private $sinifOzellikleri;
	private $tabloKolonlari;
	
	/**
      * VTIslem Sınıfı Constructor Fonksiyonu 
      * @param string $_tabloAdi
	  * @param int $_islemTuru
	  * @param object $_sinif
	  * @param array $_islemDisi = array()
      **/
	public function  __construct($_tabloAdi,$_islemTuru,$_sinif,$_islemDisi = array()) 
	{
		$this->TabloAdi = $_tabloAdi;
		$this->IslemTuru = $_islemTuru;
		$this->Sinif = $_sinif;
		$this->IslemDisi = $_islemDisi;
		$this->sinifDizi = (array)$this->Sinif;
		$this->sinifOzellikleri = array_keys($this->sinifDizi);
		
		$kolonlar = mysql_query("SHOW COLUMNS FROM $this->TabloAdi ");
		
		$this->tabloKolonlari = array();
		$say = 0;
		while($satir = mysql_fetch_array($kolonlar))
		{
			$this->tabloKolonlari[$say]	= $satir['Field'];
			$say++;
		}
		
		
		switch((int)$this->IslemTuru) 
		{
			case 1:
				$this->Ekle();
			break;
			case 2:
				$this->Duzenle();
			break;
			
		}
	}

	/**
      * Düzenleme İşlemi
	  * @return void
      **/	
	private function Duzenle()
	{
		$sorguMetin = 'UPDATE '.$this->TabloAdi.' SET ';
		
		for($i = 0;$i<count($this->tabloKolonlari);$i++)
		{
			if(!in_array($this->tabloKolonlari[$i],$this->IslemDisi) && !in_array('@'.$this->tabloKolonlari[$i],$this->IslemDisi) )
			{
			
				$sorguMetin .= $this->tabloKolonlari[$i] .' = '."'".$this->Sinif->{$this->tabloKolonlari[$i]}."'"; 
				if($i<count($this->tabloKolonlari)-1)
				{
					if(!in_array($this->tabloKolonlari[$i+1],$this->IslemDisi))
					{
						$sorguMetin .= ' , ';
					}	
				}
			}
		}
		for($i = 0;$i<count($this->IslemDisi);$i++)	
		{
			if(false !== strpos($this->IslemDisi[$i],'@'))
			{
						$islemDisiKey = substr($this->IslemDisi[$i],1);
						$sorguMetin .= ' WHERE '.$islemDisiKey.' = '."'".$this->Sinif->{$islemDisiKey}."'";
						break;
			}
		}
		mysql_query($sorguMetin);
	}
	
	/**
      * Ekleme İşlemi
	  * @return void
      **/	
	private function Ekle()
	{
		$sorguMetin = 'INSERT INTO '.$this->TabloAdi.'(';
		
		for($i = 0;$i<count($this->tabloKolonlari);$i++)
		{
			if(!in_array($this->tabloKolonlari[$i],$this->IslemDisi))
			{
			
				$sorguMetin .= $this->tabloKolonlari[$i];
				if($i<count($this->tabloKolonlari)-1)
				{
					if(!in_array($this->tabloKolonlari[$i+1],$this->IslemDisi))
					{
						$sorguMetin .= ',';
					}	
				}
			
			}
		}
		$sorguMetin .=') VALUES(';
		for($g = 0;$g<count($this->tabloKolonlari);$g++)
		{
			if(!in_array($this->tabloKolonlari[$g],$this->IslemDisi))
			{
				$sorguMetin .= "'".$this->Sinif->{$this->tabloKolonlari[$g]}."'";
				if($g<count($this->tabloKolonlari)-1)
				{
					if(!in_array($this->tabloKolonlari[$g+1],$this->IslemDisi))
					{
						$sorguMetin .= ',';
					}	
				}
			
			}
		}
		$sorguMetin .= ')';
		
		mysql_query($sorguMetin);
	}
	

}
?>

örnek kullanımı ise bir düzenleme işlemi için şöyle;

<?php

// mysql connection içeren sayfa
include_once 'genel.baglanti.php';

class Kullanicis
{

    public $id;
    public $kullaniciadi;
    public $sifre;
    public $eposta;
    public $adi;
    public $soyadi;
    public $sehir;
    public $adres;
    public $postakodu;
    public $telefon;
    public $websitesi;
    public $onay;
	
	function __construct()
	{
		$this->kullaniciadi = 'dene';
	}
    
}


$vt = new VTIslem('kullanicilar',2,new Kullanicis(),array('id','onay'));
$vt->Ekle();

?>

biraz yarım yamalak bir taslak ama fikir verici olabilir. kendi ihtiyacın doğrultusunda geliştirebilirsin.