abstract class MySQLDb {
private static $db_link = false;
private static $db_connected = false;
public static
$db_error = array ();
public static $result = null;
public function __construct($_hostname, $_username, $_password, $_dbname = '') {
self::connect ( $_hostname, $_username, $_password, $_dbname = '' );
}
public function __destruct() {
self::disconnect ();
}
public static function connect($_hostname, $_username, $_password, $_dbname) {
if (! self::$db_connected) {
self::$db_link = mysql_connect ( $_hostname, $_username, $_password );
if (! self::$db_link)
throw new Exception ( 'Database connection error' );
throw new Exception ( 'Database selection error ' );
/*if (! mysql_query ( "SET NAMES 'utf8'", self::$db_link ))
throw new Exception ( 'Impossible to use utf8 to communicate with the database :-(' );*/
try {
self::$db_connected = true;
return true;
} catch ( Exception $e ) {
self::$db_error = $e->getMessage ();
return array ("error" => self::$db_error );
}
} else {
throw new Exception ( 'Database selection error ' );
}
}
public static function disconnect() {
if (self::$db_connected)
}
public static function select_db($_db) {
if (self::$db_connected)
}
public static function execute_sql($_sql) {
try {
if (self::$db_connected) {
if (! self::$result)
throw new Exception
( 'SQL error - '. mysql_error() ." : ".$_sql );
}
else
throw new Exception ( "Database connection error" );
return self::$result;
} catch ( Exception $e ) {
self::$db_error = $e->getMessage ();
return false;
}
}
public static function get_insert_id() {
}
public static function fetch_result_array(&$_result) {
}
public static function fetch_result_assoc_array(&$_result) {
}
public static function transaction() {
return self::execute_sql ( "START TRANSACTION" );
}
public static function roll_back() {
return self::execute_sql ( "ROLLBACK" );
}
public static function commit() {
return self::execute_sql ( "COMMIT" );
}
public static function num_rows($result = NULL) {
if ($result != NULL)
else
return 0;
}
}