hey,
THXnehmen ich doch gerne an...kann sie nur leider grad nicht testen, aber schaut gut aus
![]()
Guten Rutsch noch
![]()
Hier meine MySQL Klasse, welche ich in einem aktuellen Projekt einsetze.
Ist nix großartiges, kann nach belieben erweitert werden. Hat aber seinen Zweck erfüllt...
Ich hoffe jemand kann damit was anfangen? Falls was unklar ist, fragen! Ist aber verständlich aufgebautPHP-Code:// Datenbank Klasse konstruieren
class DB{
// Variablen welche in der Klasse DB intern verwendet werden
var $query = ""; // mySQL Query (e.g. SELECT * FROM `table`)
var $result = array(); // mySQL Result array
var $link = ""; // mySQL Link ID
// Funktion: Verbindung zur Datenbank herstellen
function ConnectDB($host = "",$usr = "",$pwd = "",$db = ""){
$this->link = mysql_connect($host,$usr,$pwd);
if ($this->link){
mysql_select_db($db,$this->link);
return TRUE; // TRUE zurückgeben bei erfolgreicher Verbindung
}
else
{
return FALSE; // FALSE zurückgeben wenn Verbindung gescheitert
}
}
// Funktion: Einzelnen Datensatz abfragen
function FetchRow(){
if ($this->link){
$this->result = mysql_fetch_row($this->query);
}else{
return FALSE;
}
}
// Funktion: Verbindung zu mySQL Server beenden, sofern hergestellt
function CloseLink(){
if ($this->link){
mysql_close($this->link);
}
}
//Funktion: Query für Klasssen-interne DB Funktionen festlegen
function Query($sql = ""){
$this->query = mysql_query($sql,$this->link);
}
//Funktion: Belegten Speicher wieder freigeben
function FreeResults(){
if($this->query) mysql_free_result($this->result);
}
}
![]()
hey,
THXnehmen ich doch gerne an...kann sie nur leider grad nicht testen, aber schaut gut aus
![]()
Guten Rutsch noch
Danke, dir auchOriginal geschrieben von Scriff
hey,
THXnehmen ich doch gerne an...kann sie nur leider grad nicht testen, aber schaut gut aus
![]()
Guten Rutsch noch![]()
supi... ich schiebe das später mal in die Traum-Scripts... aber gleich ne' Frage: Ist es mit dieser Klasse möglich 2 verschiedene Objektinstanzen zu erstellen (z.B. 2 versch. DBs) und diese dann paralle zueinander laufen zulassen? Ich hatte dieses Problem vor einiger Zeit mal... da war es einfach nicht möglich. Wenn man pconnect benutzt hat, hat es funktioniert... aber über den normalen connect leider nicht.
Gruss Jan
Jan! Das geht auch mit meiner Klasse, wann begreifst Du das endlich?![]()
...
Geändert von doomedia (02.02.2005 um 06:02 Uhr)
verdammt nochmal... mit deiner Klasse funzt es... aber mit meiner oder DER VON LARS!, funktioniert es nicht... er greift immer auf die zuletzt gewählte DB zu... WARUM?!
...kann dort jemand was finden?PHP-Code:<?
DEFINE('DB_SERVER','localhost');
DEFINE('DB_USER','root');
DEFINE('DB_PASSWORD','');
DEFINE('DB_DATABASE','test');
class sql {
var $conid = "";
function sql($db=DB_DATABASE,$server=DB_SERVER,$user=DB_USER,$password=DB_PASSWORD) {
if(!$conid)
$this->sql_db($server,$user,$password);
if(!$database)
$this->sql_database($db);
}
function sql_db($server,$user,$password) {
$this->conid = @mysql_connect($server,$user,$password) OR $this->sql_error(mysql_error($this->conid));
}
function sql_database($db) {
mysql_select_db($db,$this->conid) OR $this->sql_error(mysql_error($this->conid));
}
function sql_error($msg) {
echo $msg."<br>";
}
function sql_query($query) {
$q = mysql_query($query,$this->conid) OR $this->sql_error(mysql_error($this->conid));
return $q;
}
function sql_fetch_datas($res,$how="assoc") {
SWITCH ($how) {
CASE "assoc":
return mysql_fetch_assoc($res);
break;
CASE "array":
return mysql_fetch_array($res);
break;
CASE "row":
return mysql_fetch_row($res);
break;
}
}
}
$db1 = new sql("test");
$db2 = new sql("test2");
$qdb1 = $db1->sql_query("SELECT * FROM test");
$qdb2 = $db2->sql_query("SELECT * FROM test2");
print_r(get_object_vars($db1));
echo "<br>";
print_r(get_object_vars($db2));
?>
EDIT$database nicht beachten... das ist mir noch mit reingerutscht...
...
Geändert von doomedia (02.02.2005 um 06:02 Uhr)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)