/*
Historie:
13.03.08: sqlq : Einf�gen der Funktion "mysql_insert_id()" << gibt bei einer autoincrement Spalte den letzten eingef�gten Wert zur�ck
*/
##################################################################################
#um das die Datenbankverbindung zu starten, muss man eine Datei �bergeben in der
#die Variablen host, user, passwort und dbname angegeben sind.
#Das objekt baut die Verbindung auf und gibt ein ok bei erfolgter Verbindung
#zur�ck.
#z.B. $mdb=new db;>
#$ok=$mdb->starten("./zugang.inc");
#zum Beenden der Verbindung $mdb->close();
##################################################################################
class db{
var $verbindung; // Resource ID der Verbindung
var $thost; // Name des Hosts bzw. IP
var $tuser; // Username
var $tpasswort; // Das passwort zum User
var $tdbname; // Name der Datenbank
#------------------------------------------------------
function starten($name)
{
include($name);
$this->thost = $host;
$this->tuser = $user;
$this->tpasswort = $passwort;
$this->tdbname = $dbname;
$this->verbinden();
$ok=$this->db_open();
return $ok;
}
#------------------------------------------------------
function verbinden(){
$this->verbindung = mysql_connect($this->thost, $this->tuser, $this->tpasswort);
}
#------------------------------------------------------
function db_open(){
if($this->verbindung)
{
mysql_select_db($this->tdbname, $this->verbindung); //use
return 1;
}else{
//echo "Verbindung mit der DB konnte nicht hergestellt werden.
\n";
//echo mysql_errno() . ": " . mysql_error() . "
\n";
return 0;
}
}
//--------------------------------------------------------------------------------
#------------------------------------------------------
# zum anlegen einer Datenbank
#
function db_create($name){
mysql_create_db($name);
}
#------------------------------------------------------
#------------------------------------------------------
function db_close(){
mysql_close();
}
}
##################################################################################
#Das Objekt steuert die SQL-Abfrafen. Vorher muss die Variable mit der
#Verbindung information gef�llt werden. Die VerbindungsinformatiOn erh�lt aus dem
#db Objekt. z.B. $msql->verbindung = $mdb->verbindung;
#
#Es gibt 2 M�glichkeiten sich das Ergebnis liefern zu lassen, entweder als Array
#oder als objekt
#z.B. $msql->sql("Select * from $tbnaMa");
# while ($zeile = $msql->zeilen())
/* 13.03.2008:
Einf�gen der Funktion "mysql_insert_id()" << gibt bei einer autoincrement Spalte den letzten eingef�gten Wert zur�ck
29.10.2008:
Einf�gen der Funktion "getAssoziativesArray()" << Spalten werden in einem assoziativen Array zur�ckgegeben.
*/
##################################################################################
class sqlq{
var $sql; //= Uebergebenes SQL-Statement
var $ergebnis; // Das Ergebnis der SQL-Abfrage
var $verbindung; //Resource ID der Verbindung
var $tabellen; // gibt eine resource id mit den Tabellen der DB zur�ck
function sql($statement)
{
mysql_query("SET NAMES 'utf8'"); // UTF 8 Support
$this->sql=$statement;
$this->ergebnis = mysql_query($statement, $this->verbindung);
}
// Rueckgabewert = Zeilen (in einem Array)
function zeilen(){return mysql_fetch_row($this->ergebnis);}
// Rueckgabewert = Objekt mit entsprechenden Spalten
function objekt(){return mysql_fetch_object($this->ergebnis);}
// R�ckgabewert = Anzahl der Reihen
function anzahl_erg(){return mysql_num_rows($this->ergebnis);}
// R�ckgabewert = Anzahl der Spalten
function anzahl_spalten(){return mysql_num_fields($this->ergebnis);}
function getAssoziativesArray(){ return mysql_fetch_array($this->ergebnis,MYSQL_ASSOC);}
function getLastInsertedID(){
return mysql_insert_id($this->verbindung);
}
// fragt die namen der Tabellen ab, kann dann mit namen_ermitteln in einer while-Schleife abgefragt werden
function tabellen_zeigen($db){$this->ergebnis = mysql_list_tables($db);
}
// Kann in einer While-Schleife abgefragt werden und zeigt das ergebnis einer vorherigen Abfrage an, z.B. tabellen_zeigen
function namen_ermitteln($resourceid, $nr){
return mysql_tablename($resourceid, $nr);
}
}
?>