BOSWatch/exampleAddOns/simpleWeb/mysql.class.php

135 lines
3.3 KiB
PHP
Raw Normal View History

2015-04-09 13:23:58 +02:00
<?php class Database
/**
Simple Database Class (C) by Bastian Schroll
**/
{
//Variablen
private $conn = null;
private $result = null;
private $show_error = 1;
/**
* Database::__construct()
*
2015-04-09 13:23:58 +02:00
* Stellt eine Verbung mit der MySQL Datenbank fest
*
2015-04-09 13:23:58 +02:00
* @param mixed $host Hostname des Datenbank Server
* @param mixed $user Username des Datenbank Nutzers
* @param mixed $password Passwort des Datenbank Nutzers
* @param mixed $database Name der Datenbank
* @param integer $show_error Zeige Fehlermeldungen
* @return TRUE/FALSE
*/
function __construct($host, $user, $password, $database, $show_error = 1)
{
$this->show_error = $show_error;
@$this->conn = mysql_connect($host, $user, $password);
if ($this->conn == false)
{
$this->error("Keine Verbindung zum Datenbank Server!", mysql_error());
return false;
}
if (!@mysql_select_db($database, $this->conn))
{
$this->error("Datenbank nicht gefunden!", mysql_error());
return false;
}
return true;
}
/**
* Database::query()
*
* F<EFBFBD>hrt einen MySQL Query aus
*
* @param mixed $query Auszuf<EFBFBD>hrender Query
2015-04-09 13:23:58 +02:00
* @return Result-Handler/FALSE
*/
function query($query)
{
$this->result = @mysql_query($query, $this->conn);
if ($this->result == false)
{
$this->error("Fehlerhafte Datenbank Anfrage!", mysql_error());
return false;
}
return $this->result;
}
/**
* Database::fetchAssoc()
*
* Liefert alle gefundnen Datens<EFBFBD>tze als Assoc
*
2015-04-09 13:23:58 +02:00
* @param mixed $result Externer Result-Handler
* @return gefundene Datens<EFBFBD>tze als Assoc
2015-04-09 13:23:58 +02:00
*/
function fetchAssoc($result = null)
{
if ($result != null)
{
return @mysql_fetch_assoc($result);
} else
{
return @mysql_fetch_assoc($this->result);
}
}
/**
* Database::count()
*
* Z<EFBFBD>hlt alle gefundenen Datens<EFBFBD>tze
*
2015-04-09 13:23:58 +02:00
* @param mixed $result Externer Result-Handler
* @return Anzahl gefundener Datens<EFBFBD>tze
2015-04-09 13:23:58 +02:00
*/
function count($result = null)
{
if ($result != null)
{
return @mysql_num_rows($result);
} else
{
return @mysql_num_rows($this->result);
}
}
/**
* Database::closeConnection()
*
* Schlie<EFBFBD>t die bestehende MySQL Verbindung
*
2015-04-09 13:23:58 +02:00
* @return TRUE/FALSE
*/
function closeConnection()
{
if (!@mysql_close($this->conn))
{
$this->error("Verbindung zur Datenbank konnte nicht getrennt werden!", mysql_error());
return false;
}
return true;
}
/**
* Database::error()
*
2015-04-09 13:23:58 +02:00
* Gibt eine Interne Fehlermeldung aus
*
2015-04-09 13:23:58 +02:00
* @param mixed $error_msg Text der Fehlermeldung
* @param mixed $sql_err MySQL Fehlermeldung per mysql_error()
* @return NULL
*/
private function error($error_msg, $sql_err)
{
if ($this->show_error)
{
echo "<br><strong>MySQL Error: $error_msg</strong><br>$sql_err";
return true;
//exit();
}
}
} ?>