Scripts
MySQL database class
Voorbeeld gebruik:
mysql-database-class
<?php
# Made by Mitch Vroege 2005
# Versie 0.6.2
# Class database
class database
{
# Database connectie variabele
var $db;
# Constructor
function database( $user, $pass, $database, $error = 'MySQL database niet bereikbaar!', $host = 'localhost' )
{
# Connectie leggen
$this->db = mysql_connect( $host, $user, $pass );
# Kijken of de connectie gelukt is, en of de database geselecteerd kon worden
if( !$this->db || !mysql_select_db( $database, $this->db ) )
die( $error );
}
# Query resultaat variabele
var $res;
# Functie die mysql_num_rows teruggeeft
function num_rows( $sql = NULL )
{
# Kijken of er een query meegegeven is, zo ja uitvoeren
if( $sql != NULL )
$this->run_query( $sql );
# Mysql_num_rows uitspugen
return mysql_num_rows( $this->res );
}
# Functie die mysql_fetch_array teruggeeft
function get_array( $sql = NULL, $refetch = false )
{
# Kijken of er een query meegegeven is, zo ja uitvoeren
if( $sql != NULL )
$this->run_query( $sql );
# Kijken of refetch is meegegeven
if( $refetch == true )
mysql_data_seek( $this->res, 0 );
# Loopje door alle resultaten
while( $row = mysql_fetch_array( $this->res ) )
$rows[] = $row;
# Array met rows uitspugen
return $rows;
}
# Functie die mysql_insert_id teruggeeft
function insert_id( $sql = NULL )
{
# Kijken of er een query meegegeven is, zo ja uitvoeren
if( $sql != NULL )
$this->run_query( $sql );
# Mysql_insert_id uitspugen
return mysql_insert_id( $this->db );
}
# Functie die mysql_affected_rows teruggeeft
function affected_rows( $sql = NULL )
{
# Kijken of er een query meegegeven is, zo ja uitvoeren
if( $sql != NULL )
$this->run_query( $sql );
# Mysql_affected_rows uitspugen
return mysql_affected_rows( $this->db );
}
# Functie die kijkt of $table in $database bestaat, zoja 'true', zo nee, 'false'
function find_table( $table, $database )
{
# Tabellen opvragen
$this->res = mysql_list_tables( $database, $this->db );
# Tabellen in een array proppen
$data = $this->get_array( );
# Return true of false
return in_array( $table, $data );
}
# Functie die de query uitvoert
function run_query( $sql )
{
# Query uitvoeren en het resultaat wegschrijven in de $res var
$this->res = mysql_query( $sql, $this->db );
# Kijken of het een geldige query is
if( !$this->res )
die( 'De opgegeven query is onjuist!' );
}
# Functie die de verbinding sluit & $res leegt
function database_close( )
{
# $res legen
if( !@mysql_free_result( $this->res ) )
unset( $this->res );
# Verbinding sluiten
mysql_close( $this->db );
}
}
# Class database destructor
function destruct( $name )
{
# Referentie naar object $name meegeven aan $db
$db = &$GLOBALS[$name];
# Database afsluiten
$db->database_close( );
# Object verwijderen
unset( $GLOBALS[$name] );
}
?>
Reacties
0