Scripts

GTK - MySQL database driver

Dit is een database driver class. Je moet natuurlijk enige php ervaring hebben. Je moet veranderen wat staan aangegeven. Aanroepen:

gtk-mysql-database-driver
<?php
//-------------------------------------------------
// Onze database class
//-------------------------------------------------

class db_driver {
	var $obj			= array();
	var $fetch_object			 ;
	var $fetch_row		= array();
	var $connection_id			 ;
	var $query_id				 ;
	var $query			= ""	 ;

	//---------------------------------------------
	// Onze constructor (maakt SQL connectie)
	//---------------------------------------------
	function db_driver() {
		$this->obj = array('USER' => 'gebruikersnaam',
						   'PASS' => 'wachtwoord',
						   'HOST' => 'server',
						   'DATA' => 'database',
			);

		$this->connection_id = @mysql_connect($this->obj['HOST'], $this->obj['USER'], $this->obj['PASS']);

		if (!$this->connection_id) {
			$this->db_error('NO_CONNECT');
		}

		$db = @mysql_select_db($this->obj['DATA']);

		if (!$db) {
			$this->db_error('NO_DB');
		}

	}

	//---------------------------------------------
	// SQL query uitvoeren
	//---------------------------------------------

	function query($query) {

		$this->query    = $query;

		$this->query_id = @mysql_query($query);

		if (!$this->query_id) {
			$this->db_error('BAD_QUERY');
		}

	}

	//---------------------------------------------
	// Onze mysql_fetch_row()
	//---------------------------------------------

	function fetch_row($query_id = "") {
		if ($query_id == "") {
    		$query_id = $this->query_id;
    	}
    	
        $this->fetch_row = mysql_fetch_array($query_id, MYSQL_ASSOC);
        
        return $this->fetch_row;
	}
	
	//---------------------------------------------
	// Onze mysql_fetch_object()
	//---------------------------------------------

	function fetch_object($query_id = "") {
		if ($query_id == "") {
    		$query_id = $this->query_id;
    	}
    	
        $this->fetch_object = mysql_fetch_object($query_id);
        
        return $this->fetch_object;
	}

	//---------------------------------------------
	// Onze mysql_free_result()
	//---------------------------------------------

	function free_result($query_id="") {
    
   		if ($query_id == "") {
    		$query_id = $this->query_id;
    	}
    	
    	@mysql_free_result($query_id);
    }

	//---------------------------------------------
	// Database connectie sluiten
	//---------------------------------------------

	function close_db() { 
        return @mysql_close($this->connection_id);
    }

	//---------------------------------------------
	// Onze database error handler
	//---------------------------------------------

	function db_error($err_code) {
		$errorcodes = array('NO_CONNECT' => 'Connectie naar MySQL gefaalt',
							'NO_DB' => 'Juiste database selecteren gefaalt',
							'BAD_QUERY' => 'Foute MySQL query',
							'DEFAULT' => 'Basis error, Onbekend type',
			);

		if (!array_key_exists($err_code, $errorcodes)) {
			$err_code = 'DEFAULT';
		}

		$errno = mysql_errno();
		$err   = mysql_error();

		print "Fatale error mysql error: ";
		print $err_code;
		print "\nBeschrijving van error:";
		print $errorcodes[ $err_code ];
		print "\n\nMysql error nummer: ";
		print $errno;
		print "\nMysql gaf de volgende error terug:\n";
		print $err;
		if ($err_code == 'BAD_QUERY') {
			print "\nQuery:";
			print $this->query;
		}
		print "\n\nUitvoeren programma gestopt.\n";
		print "-----------------------------------------";

		print "\nDatabase connectie gesloten\n";
		$this->close_db();

		print "--------------EINDE-ERROR:{$err_code}----\n\n"; 
Gtk::main();




		
	}



} //einde db_driver class
?>

Reacties

0
Nog geen reacties.