[SHARING] A basic SQL-query Class

Small, short code snippets that other people may find useful. Do you have a good regex that you would like to share? Share it! Even better, the code can be commented on, and improved.

Moderator: General Moderators

Post Reply
User avatar
dethron
Forum Contributor
Posts: 370
Joined: Sat Apr 27, 2002 11:39 am
Location: Istanbul

[SHARING] A basic SQL-query Class

Post by dethron »

there is no problem with the code,
i just want to share it.

i wrote it to simplfy my db-queries.

i have bored to write this SQL-queries :)

I hope it will be helpfull.

For any comment or bug report here or use my email

buyukcer<<<at>>>yahoo<<<dot>>>com

dethron.

Code: Select all

/*
ANALYZE TABLE tbname1, tbname2
CHECK TABLE tbname1, tbname2 EXTENDED
OPTIMIZE TABLE tbname1, tbname2
REPAIR TABLE tbname1, tbname2 EXTENDED
*/


class DbEngine{
	function Insert($sIn){
		// $sIn->Qarr is the field-value array.
		if(!($sIn && $sIn->tbname && $sIn->QArr)){
			echo \"HATALI PARAMETRE : Insert<br>\";
			print_r($sIn);
			return false;
		}
		
		foreach ($sIn->QArr as $field => $value){
			$fields .= \"$field, \";
			$values .= \"'$value', \";
		}
		
		$fields = substr($fields, 0, -2);
		$values = substr($values, 0, -2);
		$query = \"INSERT INTO $sIn->tbname ($fields) VALUES ($values)\";	
		//echo $query;
		
		return $this->Execute($query);
	}
	
	function Update($sIn){
		//UPDATE films SET kind = 'Dramatic' WHERE kind = 'Drama';

		if(!($sIn && $sIn->tbname && $sIn->QArr && $sIn->WArr)){
			echo \"HATALI PARAMETRE : Update<br>\";
			print_r($sIn);
			return false;
		}
		
		foreach ($sIn->QArr as $field => $value){
			$sub_query1 .= \"$field = '$value', \";
		}
		$sub_query1 = substr($sub_query1, 0, -2);
		
		foreach ($sIn->WArr as $field => $value){
			$sub_query2 .= \"$field = '$value' AND \";
		}
		$sub_query2 = substr($sub_query2, 0, -5);
		
		$query = \"UPDATE $sIn->tbname SET $sub_query1 WHERE $sub_query2\";
		//echo $query;
		
		return $this->Execute($query);
	}
	
	function Delete($sIn){
		//DELETE FROM films WHERE kind <> 'Musical';
		if(!($sIn && $sIn->tbname && $sIn->WArr)){
			echo \"HATALI PARAMETRE : Delete<br>\";
			print_r($sIn);
			return false;
		}
		
		foreach ($sIn->WArr as $field => $value){
			$where .= \"$field = '$value' AND \";
		}
		$where = substr($where, 0, -5);
		
		$query = \"DELETE FROM $sIn->tbname WHERE $where\";
		//echo $query;
		
		return $this->Execute($query);
	}
	
	function Execute($query){
		if(!$query){
			echo \"HATALI PARAMETRE : Execute<br>\";
			print_r($query);
			return false;
		}
		
		if(mysql_query($query))
			return true;
		else{ 
			SEND_ADMIN($resultSQL);
			return false;
		}
	}
	

}
Post Reply