Hallo ich habe mir mal eine kleine MySQL-Klasse gesucht, weiß aber nicht, wie man mit der umgeht. Also
1. Wo muss ich die Datenbank-Verbindung herstellen und
2. Wie kann ich dann letztendlich auch Datensätze aus der Datenbank ausgeben lassen?
Hier die Klasse:
Mfg. Berti
1. Wo muss ich die Datenbank-Verbindung herstellen und
2. Wie kann ich dann letztendlich auch Datensätze aus der Datenbank ausgeben lassen?
Hier die Klasse:
PHP:
<?php
/**
* @name mysql.class.php
* @author Patrick Jobst <taldoras@hotmail.com>
* @copyright 2006-2007 Wirtschaftsprojekt JTG
* @desc MySQL Klasse
* @param string $_sql SQL String
* @param int $_result
* @param int $_errno
* @param string $_error
*/
class Query
{
var $_sql = '';
var $_result = 0;
var $_errno = 0;
var $_error = '';
/**
* @author Patrick Jobst <taldoras@hotmail.com>
* @copyright 2006-2007 Wirtschaftsprojekt JTG
* @desc Führt einen Query durch
* @param string $sql SQL String
*/
function query($sql)
{
//SQL Kommando in der Klasse speichern
$this->_sql = trim($sql);
//Query schicken
$this->_result = @mysql_query($this->_sql);
//schauen ob ein Fehler aufgetaucht ist
if (!isset($this_result) || !$this_result) {
//Ein Fehler ist passiert
//MySQL Fehler Nummer und Fehler Meldung speichern
$this->_errno = mysql_errno();
$this->_error = mysql_error();
//Fehler ausgeben
$this->getError();
}
}
/**
* @author Patrick Jobst <taldoras@hotmail.com>
* @copyright 2006-2007 Wirtschaftsprojekt JTG
* @desc Liefert einen Fehler zurück
* @return string $tmp Fehler
*/
function error()
{
//Result ID in einer temporären Variable speichern
$tmp = isset($this->_result) ? $this->_result : '';
//Zu Boolean konvertieren
$tmp = (bool)$tmp;
//invertieren
$tmp = !$tmp;
//und zurueckgeben
return $tmp;
}
/**
* @author Patrick Jobst <taldoras@hotmail.com>
* @copyright 2006-2007 Wirtschaftsprojekt JTG
* @desc Prüft, ob Fehler vorhanden sind
* @return boolean Fehler vorhanden? True/False
*/
function getError()
{
//Schauen ob ein Fehler vorgekommen ist
if ($this->error()) {
//Fehler formulieren
print 'MySQL has detected the error #'.$this->_errno.':</p>';
print 'Query';
print entities($this->_sql);
print 'Answer';
print entities($this->_error);
die();
//"true" zurueckgeben, ein Fehler ist vorgekommen.
return true;
} else {
//"false" zurueckgeben, alles ist in Ordnung.
return false;
}
}
/**
* @author Patrick Jobst <taldoras@hotmail.com>
* @copyright 2006-2007 Wirtschaftsprojekt JTG
* @desc Hole Daten aus Table
* @return array MySQL-Results
*/
function fetch()
{
//Schauen ob ein Fehler existiert
if ($this->error()) {
//Irgendetwas ist schief gelaufen, nicht die "fetch" Funktion ausfuehren sondern "null" zurueckgeben
return null;
} else {
//"fetch" Funktion ausfuehren
return mysql_fetch_assoc($this->_result);
}
}
/**
* @author Patrick Jobst <taldoras@hotmail.com>
* @copyright 2006-2007 Wirtschaftsprojekt JTG
* @desc Überprüfung der Spaltenanzahl
* @return int Spaltenanzahl
*/
function numRows()
{
//schauen ob ein Fehler aufgetreten ist
if ($this->error()) {
//Fehler, -1 zurueckgeben (-1 Zeilen)
return -1;
} else {
//Anzahl der Spalten im Ergebnis ("result") zurueckgeben
return mysql_num_rows($this->_result);
}
}
/**
* @author Patrick Jobst <taldoras@hotmail.com>
* @copyright 2006-2007 Wirtschaftsprojekt JTG
* @desc Lässt das Ergebnis frei
* @return boolean Result
*/
function free()
{
//schauen ob ein Fehler aufgetreten ist
if ($this->error()) {
//Fehler, "false" zurueckgeben
return false;
} else {
//Ergebnis "frei lassen"
if (@mysql_free_result($this->_result)) {
//"true" zurueckgeben, Ergebnis wurde freigelassen
return true;
} else {
//Fehler trat auf
return false;
}
}
}
}
?>
Mfg. Berti