Geschrieben von lucas9991 am 10.04.2005, 21:25

so hier eine MySQL Klasse von mir ;)

also zuerst die klasse
mysql.php

<?php
class MySQL {
var $Numeric = false;
// Verbindung zur MySQL Datenbank herstellen
function MySQL ($MySQL) {
$MySQL_Connect = mysql_connect($MySQL["Host"], $MySQL["User"], $MySQL["Passwort"])
or DIE($this->Error ("MySQL_Connect", "Kann keine Verbindung zur MySQL Datenbank herstellen!", mysql_error(), mysql_errno()));

$MySQL_Select_DB = mysql_select_db($MySQL["Database"], $MySQL_Connect)
or DIE($this->Error ("MySQL_Select_DB", "Die Datenbank ".$MySQL["Database"]." existiert nicht!", mysql_error(), mysql_errno()));
return $MySQL_Connect;
}

// Daten in die MySQL Datenbank einfügen
function Insert ($Tabelle, $Daten) {
if(!isset($Tabelle) || !isset($Daten)) {
$this->Error ("MySQL Insert", "/", "Ein oder mehere Parameter fehlen!", "/");
}
if(!is_array($Daten)) {
$this->Error ("MySQL Insert", "/", "Der übergebene Parameter ist kein Array", "/");
}
$Tabelle = MySQL::Slashes($Tabelle);
$Daten = MySQL::Slashes($Daten);

$MySQL_Query .= "INSERT INTO `".$Tabelle."` (";
$i = true;

foreach($Daten as $index => $Date) {
if($i) {
$MySQL_Query .= "".$index."";
$i = false;
} else {
$MySQL_Query .= ", ".$index."";
}
}

$i = true;
$MySQL_Query .= ") VALUES (";

foreach($Daten as $Date) {
if($i) {
$MySQL_Query .= "'".$Date."'";
$i = false;
} else {
$MySQL_Query .= ", '".$Date."'";
}
}

$i = true;
$MySQL_Query .= ")";

mysql_query($MySQL_Query)
or DIE($this->Error ("MySQL_Query", $MySQL_Query, mysql_error(), mysql_errno()));
return true;
}

// Daten in der MySQL Datenbank verändern
function Update ($Tabelle, $Daten, $Where, $Gleich) {
if(!isset($Tabelle) || !isset($Daten) || !isset($Where) || !isset($Gleich)) {
$this->Error ("MySQL Update", "/", "Ein oder mehere Parameter fehlen!", "/");
}
if(!is_array($Daten)) {
$this->Error ("MySQL Insert", "/", "Der übergebene Parameter ist kein Array", "/");
}

$Tabelle = MySQL::Slashes($Tabelle);
$Daten = MySQL::Slashes($Daten);
$Where = MySQL::Slashes($Where);
if ($Where == 'id') {
$Gleich = MySQL::Slashes($Gleich, true);
} else {
$Gleich = MySQL::Slashes($Gleich);
}

$MySQL_Query .= "UPDATE `".$Tabelle."` SET";

$i = true;
foreach($Daten as $index => $Date) {
if($i) {
$MySQL_Query .= " ".$index." = '".$Date."'";
$i = false;
} else {
$MySQL_Query .= ", ".$index." = '".$Date."'";
}
}
$i = true;

$MySQL_Query .= " WHERE ".$Where." = '".$Gleich."'";

mysql_query($MySQL_Query)
or DIE($this->Error ("MySQL_Query", $MySQL_Query, mysql_error(), mysql_errno()));
return true;
}

// Daten in der MySQL Datenbank löschen
function Delete ($Tabelle, $Where, $Gleich) {
if(!isset($Tabelle) || !isset($Where) || !isset($Gleich)) {
$this->Error ("MySQL Delete", "/", "Ein oder mehere Parameter fehlen!", "/");
}
$Tabelle = MySQL::Slashes($Tabelle);
$Where = MySQL::Slashes($Where);
if ($Where == 'id') {
$Gleich = MySQL::Slashes($Gleich, true);
} else {
$Gleich = MySQL::Slashes($Gleich);
}

$MySQL_Query .= "Delete FROM `".$Tabelle."` WHERE ".$Where." = '".$Gleich."'";

mysql_query($MySQL_Query)
or DIE($this->Error ("MySQL_Query", $MySQL_Query, mysql_error(), mysql_errno()));
return true;
}

// Die Anzahl der Einträge in einer Tabelle der MySQL Datenbank auslesen
function Rows ($Tabelle, $Where = true, $Gleich = true) {
$Tabelle = MySQL::Slashes($Tabelle);
if(!$Where && !$Gleich) {
$Where = MySQL::Slashes($Where);
$Gleich = MySQL::Slashes($Gleich);
}
$Rows = "SELECT * FROM `$Tabelle`";
if(!$Where && !$Gleich) {
$Rows .= " WHERE ".$Where." = '".$Gleich."'";
}
$MySQL_Query = mysql_query($Rows)
or DIE($this->Error ("MySQL_Rows", $MySQL_Query, mysql_error(), mysql_errno()));
$Rows = mysql_num_rows($MySQL_Query)
or DIE($this->Error ("MySQL_Rows", $Rows, mysql_error(), mysql_errno()));
return $Rows;
}


// Einträge auslesen
function Select ($Tabelle, $Daten = true, $Order_by = true, $Richtung = true, $Where = true, $Gleich = true, $Limit_Start = '0', $Limit_Ende = '30') {
if(!isset($Tabelle)) {
$this->Error ("MySQL Select", "/", "Der Erste Parameter fehlt!", "/");
}

$Tabelle = MySQL::Slashes($Tabelle);
$Daten = MySQL::Slashes($Daten);
$Order_by = MySQL::Slashes($Order_by);
if($Richtung == 'DESC') {
$Richtung = "DESC";
} else {
$Richtung = "ASC";
}
$Where = MySQL::Slashes($Where);
if ($Where == 'id' && trim($Gleich)) {
$Gleich = MySQL::Slashes($Gleich, true);
} else {
$Gleich = MySQL::Slashes($Gleich);
}
$Limit_Start = MySQL::Slashes($Limit_Start, true);
$Limit_Ende = MySQL::Slashes($Limit_Ende, true);

$MySQL_Query = "SELECT";

if(is_array($Daten)) {
$i = true;
foreach($Daten as $Date) {
if($i) {
$MySQL_Query .= " ".$Date."";
$i = false;
} else {
$MySQL_Query .= ", ".$Date."";
}
}
$i = true;
} else {
$MySQL_Query .= " *";
}

$MySQL_Query .= " FROM `".$Tabelle."`";

if($Where != 1) {
$MySQL_Query .= " WHERE ".$Where." = '".$Gleich."'";
}
if($Order_by != 1) {
$MySQL_Query .= " ORDER BY `".$Order_by."` ".$Richtung."";
}

$MySQL_Query .= " LIMIT ".$Limit_Start.", ".$Limit_Ende."";
$Select = mysql_query($MySQL_Query)
or DIE($this->Error ("MySQL_Select", $MySQL_Query, mysql_error(), mysql_errno()));
return $Select;
}



// Etwaige MySQL Injection Versuche verhindern
function Slashes ($Slashes, $Nummer = false) {
if (is_array($Slashes)) {
foreach($Slashes as $index => $Slash) {
$Slashes[$index] = mysql_escape_string($Slash);
}
} else {
$Slashes = mysql_escape_string($Slashes);
}

// Prüfen ob der Wert eine Ganzzahl ist, falls auf es eine seien sollte
if($Nummer) {
$Numeric = MySQL::Nummer($Slashes);
if (!$Numeric) {
die($this->Error ("/", $Numeric, "Keine Ganzzahl", "/"));
}
}
return $Slashes;
}

function Nummer ($Nummer) {
if (is_numeric($Nummer)) {
return true;
} else {
return false;
}
}

// Fehler ausgeben und das Script beenden
function Error ($Abfrage, $Query, $MySQL_Error, $MySQL_Errno) {
echo "<br \>";
echo sprintf("Fehler bei der Abfrage : %s <br \>", htmlspecialchars($Abfrage));
echo sprintf("Query : %s <br \>", htmlspecialchars($Query));
echo sprintf("Fehlermeldung : %s <br \>", htmlspecialchars($MySQL_Error));
echo sprintf("Fehlerzahl : %s <br \>", htmlspecialchars($MySQL_Errno));
exit;
}
}

?>

________________________________
so das ganze benutzt ihr jetzt so

$MySQL = array();
$MySQL["Host"] = "localhost";
$MySQL["User"] = "Username";
$MySQL["Passwort"] = "Passwort";
$MySQL["Database"] = "Datenbank";

$MySQL_Connect = new MySQL($MySQL);

// INSERT
$Tabelle = "test"; // der tabellen name
$Daten = array(); // ein array aus daten
$Daten["id"] = ""; // id ist die spalte und zwischen "" steht der inhalt der eingetragen werden soll
$Daten["a"] = "Lucas9991";

$MySQL_Connect->Insert($Tabelle, $Daten);
unset($Daten);
echo "Daten erfolgreich eingetragen<br \>";

// UPDATE
$Tabelle = "test"; // der tabellen name
$Daten = array(); // ein array aus daten
$Daten["a"] = "Lucas"; // wie oben, spalte a wird mit dem wert "lucas" gefüllt
$Where = "id"; // WHERE id <-
$Gleich = "2"; = '2'

$MySQL_Connect->Update($Tabelle, $Daten, $Where, $Gleich);
unset($Daten);

echo "Daten erfolgreich geändert<br \>";

// DELETE
$Tabelle = "test"; // der tabellen name
$Where = "id"; // WHERE id
$Gleich = "2"; = '2'

$Delete = $MySQL_Connect->Delete($Tabelle, $Where, $Gleich);
echo "Daten erfolgreich gelöscht<br \>";

// ROWS auslesen (also gesamt einträge in der tabelle)

$Tabelle = "test"; // der tabellen name

$Rows = $MySQL_Connect->Rows($Tabelle);
echo "".$Rows." Einträge in der Tabelle vorhanden!<br \>";

// SELECT (also ausgeben)

$Tabelle = "test2"; // der tabellen name
$Daten[] = "id"; // die daten die ausgewählt werden sollen, ist optional und kann durch true ersetzt werden

$Order_by = "id"; // ordnen nach id (optional)
$Richtung = "ASC"; // in welcehr reihenfolge ordnen (optional)
$Where = "id"; // (optional)
$Gleich = ""; // (optional)
$Limit_Start = "2"; // (optional)
$Limit_Ende = "1"; // (optional)
$Select = $MySQL_Connect->Select($Tabelle, $Daten, $Order_by, $Richtung, $Where , $Gleich , $Limit_Start, $Limit_Ende);
while ($row = mysql_fetch_array($Select)) {
echo "<br \>";
echo "".$row["id"]." ".$row["name"]."<br \>";
}
[/i]

so hier die funktionen nochmal aufgelistet
$MySQL_Connect = new MySQL(mysql_daten[ array ]); // zur datenbank connecten
$MySQL_Connect->Insert (tabelle[ string ], daten[ array ]); // daten einfügen
$MySQL_Connect->Update (tabelle[ string ], daten[ array ], wo[ string ], gleichwas[ string ]); // daten updaten
$MySQL_Connect->Delete (tabelle[ string ], wo[ string ], gleichwas[ string ]); // daten löschen

$Rows = $MySQL_Connect->Rows(tabelle[ string ]); // rückgabe der anzahl der spalten in der tabelle

$Select = $MySQL_Connect->Select(tabelle[ string ], daten[ array ], ordnen[ string ], richtung[ asc oder desc ], wo[ string ] , gleich[ string ] , anfang_der_auswahl[ int ], ende_der_auswahl[ int ]);

is umfangreich und gut :)
viel spass damit
mfg Lucas
http://www.i-cms.de.vu
http://www.handyklau.de.gg

Bewertung Anzahl
6
71,4 %
5 Bewertungen
3
14,3 %
1 Bewertungen
1
14,3 %
1 Bewertungen