Ergebnis 1 bis 8 von 8

Thema: Von mir, für euch - MySQL Klasse

  1. #1
    TP-Senior
    Registriert seit
    Sep 2002
    Beiträge
    144

    Von mir, für euch - MySQL Klasse



    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...

    PHP-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->querymysql_free_result($this->result);
         }

    Ich hoffe jemand kann damit was anfangen? Falls was unklar ist, fragen! Ist aber verständlich aufgebaut

  2. #2
    TP-Veteran Avatar von Scriff
    Registriert seit
    Nov 2002
    Ort
    bei Stuttgart (Esslingen)
    Beiträge
    1.357
    hey,

    THX nehmen ich doch gerne an...kann sie nur leider grad nicht testen, aber schaut gut aus

    Guten Rutsch noch

  3. #3
    TP-Senior
    Registriert seit
    Sep 2002
    Beiträge
    144
    Original geschrieben von Scriff
    hey,

    THX nehmen ich doch gerne an...kann sie nur leider grad nicht testen, aber schaut gut aus

    Guten Rutsch noch
    Danke, dir auch

  4. #4
    TP-Specialist Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108

    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

  5. #5
    TP-Greis
    Registriert seit
    Jun 2001
    Beiträge
    5.468
    Jan! Das geht auch mit meiner Klasse, wann begreifst Du das endlich?

  6. #6
    TP-Senior
    Registriert seit
    Sep 2002
    Beiträge
    144
    ...
    Geändert von doomedia (02.02.2005 um 06:02 Uhr)

  7. #7
    TP-Specialist Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    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?!

    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));

    ?>
    ...kann dort jemand was finden?

    EDIT
    $database nicht beachten... das ist mir noch mit reingerutscht...

  8. #8
    TP-Senior
    Registriert seit
    Sep 2002
    Beiträge
    144
    ...
    Geändert von doomedia (02.02.2005 um 06:02 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51