Current File : /home/inlingua/www/sensoriumpsychologists.com/backup/franchise_back/database_func.php
<?php

require_once("connection.php");

class mysql_functions_class

{

	private $new_conn,$detail,$last_insert_id;

	public function __destruct()

	{

		$this->close_connection();

	}

	public function __construct()

	{

		$this->last_insert_id="";

	}

	public function open_connection()

	{

		global $host_db,$user_db,$pass_db,$name_db;

		$this->new_conn = new mysqli($host_db,$user_db,$pass_db,$name_db);

		if ($this->new_conn->connect_errno)

		{

			echo("COULD NOT CONNECT TO THE SERVER.....TRY AGAIN LATER");

			exit();

		}

		$this->new_conn->query("SET time_zone = '+05:30'");

	}

	public function start_transaction()

	{

		$this->new_conn->query("START TRANSACTION");

	}

	public function commit()

	{

		$this->new_conn->commit();

	}

	public function rollback()

	{

		$this->new_conn->rollback();

	}

	public function affected_rows()

	{

		return $this->new_conn->affected_rows;

	}

	public function get_value($variable_name)

	{

		$to_return="";

		switch($variable_name)

		{	

		case 'last_insert_id':$to_return=$this->last_insert_id;break;

		}

		return $to_return;

	}



	public function close_connection()

	{

		if(isset($this->new_conn))

		{

			$this->new_conn->rollback();

			$this->new_conn->close();

			unset($this->new_conn);

		}

	}

	

	public function real_escape($to_change)

	{

		$to_change=$this->new_conn->real_escape_string($to_change);

		return $to_change;

	}

	

	public function insert_simple($columns_array,$values_array,$table_name)

	{

		$prepared_statement="INSERT INTO $table_name";

		$total_elements=count($columns_array);

		$last=$total_elements-1;

		for($i=0;$i<$total_elements;$i++)

		{

			if($i==0)

			{

				$prepared_statement.="(".$columns_array[$i];

			}

			else

			{

				$prepared_statement.=",".$columns_array[$i];

			}

			if($i==$last)

			{

				$prepared_statement.=")";

			}

		}

		$prepared_statement.=" VALUES";

		for($i=0;$i<$total_elements;$i++)

		{

			$values_array[$i]=$this->new_conn->real_escape_string($values_array[$i]);

			if($i==0)

			{

				$prepared_statement.="('".$values_array[$i]."'";

			}

			else

			{

				$prepared_statement.=",'".$values_array[$i]."'";

			}

			if($i==$last)

			{

				$prepared_statement.=")";

			}

		}

		if(!($this->new_conn->query($prepared_statement)))

		{

			$this->close_connection();

			echo("Error : Invalid code...");

			exit();

		}

		else

		{

			$this->last_insert_id=$this->new_conn->insert_id;

		}

	}

	

	public function insert_simple_for_transaction($columns_array,$values_array,$table_name)

	{

		$prepared_statement="INSERT INTO $table_name";

		$total_elements=count($columns_array);

		$last=$total_elements-1;

		for($i=0;$i<$total_elements;$i++)

		{

			if($i==0)

			{

				$prepared_statement.="(".$columns_array[$i];

			}

			else

			{

				$prepared_statement.=",".$columns_array[$i];

			}

			if($i==$last)

			{

				$prepared_statement.=")";

			}

		}

		$prepared_statement.=" VALUES";

		for($i=0;$i<$total_elements;$i++)

		{

			$values_array[$i]=$this->new_conn->real_escape_string($values_array[$i]);

			if($i==0)

			{

				$prepared_statement.="('".$values_array[$i]."'";

			}

			else

			{

				$prepared_statement.=",'".$values_array[$i]."'";

			}

			if($i==$last)

			{

				$prepared_statement.=")";

			}

		}

		if(!($this->new_conn->query($prepared_statement)))

		{

			$this->rollback();

			$this->close_connection();

			echo("Error : Invalid code...");

			exit();

		}

		else

		{

			$this->last_insert_id=$this->new_conn->insert_id;

		}

	}

	

	public function update_simple($columns_array,$values_array,$table_name,$conditions)

	{

		$columns_total_elements=count($columns_array);

		$values_total_elements=count($values_array);

		if($columns_total_elements!=$values_total_elements)

		{

			$this->close_connection();

			echo("Error : Invalid code...(Error Code : 2)");

			exit();

		}

		

		$prepared_statement="UPDATE $table_name SET ";

		for($i=0;$i<$columns_total_elements;$i++)

		{

			$values_array[$i]=$this->new_conn->real_escape_string($values_array[$i]);

			if($i==0)

			{

				$prepared_statement.=$columns_array[$i]."='".$values_array[$i]."'";

			}

			else

			{

				$prepared_statement.=",".$columns_array[$i]."='".$values_array[$i]."'";

			}

		}

		$prepared_statement.=" ".$conditions;

		$this->new_conn->query($prepared_statement);

	}

	public function select_for_report($table_name,$columns_array,$conditions,$sort_by,$sort_order,$per_page,$start,&$total="")

	{

		$prepared_statement="SELECT SQL_CALC_FOUND_ROWS ";

		for($i=0;$i<count($columns_array);$i++)

		{

			if($i==0)

			{

				$prepared_statement.=$columns_array[$i];

			}

			else

			{

				$prepared_statement.=",".$columns_array[$i];

			}

		}

		$prepared_statement.=" FROM $table_name $conditions ORDER BY $sort_by $sort_order LIMIT $start,$per_page";

		if(!($res=$this->new_conn->query($prepared_statement)))

		{

			$this->close_connection();

			echo("Error : Invalid filters 1...".$prepared_statement);

			exit();

		}

		$res_total=$this->new_conn->query("SELECT FOUND_ROWS() AS total");

		$detail_total=$res_total->fetch_assoc();

		$total=$detail_total['total'];

		return $res;

	}

	public function select_simple($table_name,$columns_array,$conditions)

	{

		$prepared_statement="SELECT ";

		for($i=0;$i<count($columns_array);$i++)

		{

			if($i==0)

			{

				$prepared_statement.=$columns_array[$i];

			}

			else

			{

				$prepared_statement.=",".$columns_array[$i];

			}

		}

		$prepared_statement.=" FROM $table_name $conditions";

		if(!($res=$this->new_conn->query($prepared_statement)))

		{

			$this->close_connection();

			echo("Error : Invalid filters 2...".$prepared_statement);

			exit();

		}

		return $res;

	}

	public function simply_run_statement_passed($prepared_statement)

	{

		if(!($res=$this->new_conn->query($prepared_statement)))

		{

			$this->rollback();

			$this->close_connection();

			echo("Error : Invalid filters 3...".$prepared_statement);

			exit();

		}

		return $res;

	}

}

?>