best way of connecting to db?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • best way of connecting to db?

    also:

    ich hab schon so einige methoden gesehen, wie die leute zur db connecten
    meine variante lautet wie folgt:
    PHP-Code:
    include("connection.inc.php)"        #mach ich meistens weil der username und pw auf dem server
    #meist anders lauten als auf meinem offline testsystem
    $db mysql_connect($host$name$pw);
    mysql_select_db("blabla",$db);

    $sql "SELECT * FROM blabla";
    $query mysql_query($sql);   #versteh nicht was das untere mysql_db_query besser sein soll...
    $..... 
    find ich recht nett, weil man nicht das machen muss:
    PHP-Code:
    <?php 
     
     $css_auslesen 
    "SELECT * FROM css";
     
    $css1mysql_db_query($db$css_auslesen$mysql);   #--> [img]http://www.overclockers.at/images/smilies/bash.gif[/img]
     
    $css_wl mysql_fetch_array($css1);
     
        echo 
    "Momentan gewählt: ".$css_wl;

      
    ?>
    ich glaub nach dem fünften query krieg ich einen auszuck...

    wie baut ihr die verbingung zum mysql-server auf? gibt es eine "beste" möglichkeit? vorteile - nachteile?

    tia, mfg (und ich hab keine umfrage aufgemacht aber ich spür schon stark den entzug )


    EDIT:
    hoppla!!! mysql_db_select() ist veraltet und mysql_select_db() und mysql_query() haben es ersetzt.... sry
    aber trotzdem: wie macht es ihr??

    Zuletzt geändert von tomstig; 27.03.2004, 12:09.
    [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

  • #2
    die beste möglichkeit ist die schnellste, und die, die dir am besten gefällt....
    ich hab mir für den zweck ne eigene klasse geschrieben. das erspart natürlich nochmal ne menge tipparbeit...

    mfg afogel
    Content Management at it's best:
    http://www.anyon.de

    Kommentar


    • #3
      zeig
      [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

      Kommentar


      • #4
        haha....das ist nicht so einfach....die ganze klasse ist teil meines projekts und wird nicht kostenlos hergegeben, aber ich kann dir das demonstrieren....(code is aus kopf und ned getestet, evtl also tippfehler o.ä.)

        PHP-Code:
        <?php

        //Aufrufprüfungen, etc....

        class DB {
            var 
        $dbhost;
            var 
        $dbuser;
            var 
        $dbpass;
            var 
        $dbname;
            var 
        $dbtype;

            var 
        $connection;

        function 
        DB($dbhost,$dbuser,$dbpass,$dbname,$dbtype) {
            
        $this->dbhost $dbhost;
           
        //...
        }

        function 
        connect() {
            switch(
        $this->dbtype) {
                case 
        "mysql":
                    
        $this->connection mysql_connect($this->dbhost,$this->dbuser,$this->dbpass);
                break;
                
        //... hier kann man beliebig einen DB-Layer schreiben
                // indem man einfach mehrere Datenbanken unterstützt
            
        }
            return 
        $this->connection;
        }

        //...das gleiche mit einer DB-Select-Funktion (man kann auch Connect und Select in eine Funktion packen, das spart nochmal...

        function query($query) {
            
        // auf SQL-Injections prüfen
            //switch...
            
        $_query mysql_query($query);
            
        //...man kann auch hier noch das fetch_array einbauen
            
        return $_query;
        }

        }
        Code ist nicht komplett lauffähig, du musst ihn nur noch etwas anpassen, aber er verdeutlicht das Prinzip...

        mfg afogel
        Zuletzt geändert von afogel; 27.03.2004, 12:22.
        Content Management at it's best:
        http://www.anyon.de

        Kommentar


        • #5
          ich würde noch empfehlen bei jeder Query eine Fehlerbehandlung einzusetzen - erleichtert die Fehlersuche ;-)

          PHP-Code:
          mysql_query($query) or die($query mysql_error());

          //oder wenn man die Fehler protokollieren will, eine Funktion dazu:

          mysql_query($query) or _error($querymysql_error());
          function 
          _error($sQuery$sError ){
              
          //write data in log
              
          error_log (date("j.n.Y H:i:s")." - "$sQuery ." - "$sError "\n"3"mysql.error.log");

          require_once('gehirn_v_02beta.php');

          Kommentar


          • #6
            Ne Klasse dazu gibts an jeder Ecke. (auch hier im Forum.)

            @tomstig: wo ist das Vote

            Kommentar


            • #7
              natürlich...er kann auch PEAR oder AdoDB nehmen, nur wird er dann
              1. keinen Überblick mehr haben und
              2. nicht alles optimal ausnutzen können

              mfg afogel
              Content Management at it's best:
              http://www.anyon.de

              Kommentar


              • #8
                stimm ich dir zu. hab auch meine eigene klasse, da ich weiß was ich brauche und es entsprechend erweitere. außerdem behält man so am einfachsten wie man sie ansteuert.

                Kommentar


                • #9
                  Re: best way of connecting to db?

                  Original geschrieben von tomstig

                  tia, mfg (und ich hab keine umfrage aufgemacht aber ich spür schon stark den entzug )
                  @ tobiaz
                  [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

                  Kommentar

                  Lädt...
                  X