Ahmeti Simple Mysql Record Class (Php)

Merhaba Arkadşalar,

Bildiğiniz gibi bazı spesifik formlarda çok fazla alan kullanmamız gerekiyor. Tabi bunları veri tabanına kaydetmek için de yok tek tırnağı, yok çift tırnağı falan derken sorgular oldukça uzun oluyor. Basit ve bu tür durumlarda kullanmak için basit bir class yazdım. Bu tür konularda oldukça faydalı olacağını düşünüyorum.

1. Veri Tabanına Veri Ekleme (Insert Into)

<?php
	$deneme=new ahmetiSimpleMysqlRecordClass();
	$deneme->setFieldandValue("user_name","Ahmet");
	$deneme->setFieldandValue("user_full_name",'Ahmet İmamoğlu');
	$deneme->setTableName('user');
	$sonuc=$deneme->sqlInsert();

	if ($sonuc===true){
		echo 'OK';
	}else{
		echo $sonuc; // Hata mesajı
	}
?>

2. Veri Tabanındaki Veriyi Güncelleme (Update)

<?php
	$deneme=new ahmetiSimpleMysqlRecordClass();
	$deneme->setFieldandValue("user_name","Ahmet");
	$deneme->setFieldandValue("user_full_name",'Ahmet İmamoğlu');
	$deneme->setTableName('user');
	$deneme->setSqlWhere('user_id=13'); // Tüm satıları güncellemek için; $deneme->setSqlWhere('*');
	$sonuc=$deneme->sqlUpdate();

	if ($sonuc===true){
		echo 'OK';
	}else{
		echo $sonuc; // Hata mesajı
	}
?>

3. Veri Tabanındaki Veriyi Silme (Delete)

<?php
	$deneme=new ahmetiSimpleMysqlRecordClass();
	$deneme->setTableName('user');
	$deneme->setSqlWhere('user_id=13'); // Tüm satıları silmek için; $deneme->setSqlWhere('*');
	$sonuc=$deneme->sqlDelete();

	if ($sonuc===true){
		echo 'OK';
	}else{
		echo $sonuc; // Hata mesajı
	}
?>

Class

<?php
class ahmetiSimpleMysqlRecordClass{

    /*
    ************************************************************************

        INSERT

        $deneme=new ahmetiSimpleMysqlRecordClass();
        $deneme->setFieldandValue("user_name","Ahmet");
        $deneme->setFieldandValue("user_full_name",'Ahmet İmamoğlu');
        $deneme->setTableName('user');
        $sonuc=$deneme->sqlInsert();

        if ($sonuc===true){
            echo 'OK';
        }else{
            echo $sonuc; // Hata mesajı
        }

    ************************************************************************

        UPDATE

        $deneme=new ahmetiSimpleMysqlRecordClass();
        $deneme->setFieldandValue("user_name","Ahmet");
        $deneme->setFieldandValue("user_full_name",'Ahmet İmamoğlu');
        $deneme->setTableName('user');
        $deneme->setSqlWhere('user_id=13'); // Tüm satıları güncellemek için; $deneme->setSqlWhere('*');
        $sonuc=$deneme->sqlUpdate();

        if ($sonuc===true){
            echo 'OK';
        }else{
            echo $sonuc; // Hata mesajı
        }

    ************************************************************************

        DELETE

        $deneme=new ahmetiSimpleMysqlRecordClass();
        $deneme->setTableName('user');
        $deneme->setSqlWhere('user_id=13'); // Tüm satıları silmek için; $deneme->setSqlWhere('*');
        $sonuc=$deneme->sqlDelete();

        if ($sonuc===true){
            echo 'OK';
        }else{
            echo $sonuc; // Hata mesajı
        }

    ************************************************************************
    */

    public $sqlPreArray=array();
    public $tableName=null;
    public $sqlWhere=null;

    function __construct()
    {
    }

    public function setTableName($table_name)
    {
        $this->tableName=$table_name;
    }

    public function setSqlWhere($sql_where)
    {
        $this->sqlWhere=$sql_where;
    }

    public function setFieldandValue($field,$value){
        $this->sqlPreArray[$field]=$value;
    }

    public function sqlInsert(){

        if (empty($this->tableName)){
            return 'Tablo adını belirtmediniz.';
        }elseif(empty($this->sqlPreArray)){
            return 'Alan adlarını ve değerleri boş bıraktınız.';
        }else{
            // Insert Into
            $fieldImplode=implode(",",array_keys($this->sqlPreArray)); 
            $valueImplode=implode("','",$this->sqlPreArray);

            $sqlReturn="INSERT INTO {$this->tableName} ($fieldImplode) values ('$valueImplode')";

            if (mysql_query($sqlReturn)){
                return true;
            }else{
                return 'Sql sorgusunda bir hata oluştu.';
            }
        }
    }

    public function sqlUpdate(){

        if (empty($this->tableName)){
            return 'Tablo adını belirtmediniz.';
        }elseif(empty($this->sqlPreArray)){
            return 'Alan adlarını ve değerleri boş bıraktınız.';
        }else{
            // Update
            $implodeField=null;
            foreach($this->sqlPreArray as $key=> $value){

                if ($implodeField != null) {$implodeField.=',';}
                $implodeField.=$key."='".$value."'";
            }

            if (empty($this->sqlWhere)){
                return 'Tablodaki tüm satırları değiştirmek için "$degisken->setSqlWhere(\'*\')" kullanmalısınız.';
            }elseif($this->sqlWhere=='*'){
                // Devam...
            }else{
                $implodeField.='WHERE '.$this->sqlWhere;
            }

            $sqlReturn="UPDATE {$this->tableName} SET $implodeField ";

            if (mysql_query($sqlReturn)){
                return true;
            }else{
                return 'Sql sorgusunda bir hata oluştu.';
            }
        }
    }

    public function sqlDelete(){

        if (empty($this->tableName)){
            return 'Tablo adını belirtmediniz.';
        }else{
            // Delete

            $addWhere='';
            if (empty($this->sqlWhere)){
                return 'Tablodaki tüm satırları silmek için "$degisken->setSqlWhere(\'*\')" kullanmalısınız.';
            }elseif($this->sqlWhere=='*'){
                // Devam...
            }else{
                $addWhere.='WHERE '.$this->sqlWhere;
            }

            $sqlReturn="DELETE FROM {$this->tableName} $addWhere ";

            if (mysql_query($sqlReturn)){
                return true;
            }else{
                return false;
            }
        }
    }
}
?>

Bu sayfa 2.133 kez görüntülendi.

Ahmet

Sıradan bloglardan birisi :)

Bunlar da hoşunuza gidebilir...

1 Cevap

  1. erkan dedi ki:

    Bu Simple Mysql Record Class çalışmanızı mysqli olarak kullansanız çok daha kullanışlı olacağı düşüncesindeyim. Emeğiniz için teşekkürler.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir