<?php
/*
 * Created on 10.03.2012
 * Oliver Soop(osoop1@ut.ee)
 */

class Database {

	private static $instance;
	private $resource;
	private $lastQuery;

	private function Database() {
	}

	/**
	 * Funktsioon tagastab andmebaasiga suhtlemiseks Database objekti
	 */
	public static function getInstance() {
		if (isset (self :: $instance)) {
			return self :: $instance;
		} else {
			self :: $instance = new Database();
			return self :: $instance;
		}
	}

	/**
	 * Funktsioon kontrollimaks viimast ühendamise viga
	 */
	private function check_error() {
		if ($this->resource->connect_errno) {
			echo "connection viga";
			$myFile = "log.txt";
			$fh = fopen($myFile, 'a');
			fwrite($fh, $this->resource->connect_errno . "\n");
			fclose($fh);
		}
	}

	/**
	 * Funktsioon, millega luuakse andmebaasiga ühendus
	 */
	public function connect() {
		$this->resource = new mysqli('localhost', 'kasutaja', 'parool');

		$this->check_error();
		if (!$this->resource) {
			die('Could not connect: ' . mysql_error());
		}

		if (!$this->resource->select_db("ekktt")) {
			die('Can\'t use ekktt : ' . mysql_error());
		}
		$this->resource->set_charset("utf8");
	}

	/**
	 * Funktsioon andmebaasiühenduse sulgemiseks
	 */
	public function close() {
		$this->resource->close or die(mysql_error());
	}

	/**
	 * Funktsioon, mis tagastab ressursi, millega päringuid andmebaasile esitada
	 */
	public function getResource() {
		return $this->resource;
	}
}
?>
