Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Bekomme immerwieder Resource ID#8

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Bekomme immerwieder Resource ID#8

    Hallo Leute,

    ich hoffe es kann jemand helfen!!!

    Ich habe eine Datei mit Funktionen erstellt die die db abfrage machen!!!

    Diese natürlich eingebunden.

    der DConnect funzt. nur wenn ich ne abfrage starte bekomm ich dann blöderweise eine Resource ID#8...

    ich steig da irgendwie net dahinter.

    hier mein code:

    Database.php

    PHP-Code:
    //Verbindung zu SQL-DB
    function mar_db_connect($server DB_SERVER$username DB_SERVER_USERNAME$password DB_SERVER_PASSWORD$database DB_DATABASE$link 'db_link') {
        global $
    $link;
     
        $
    $link mysql_connect($server$username$password);
        
       if ($
    $linkmysql_select_db($database);

       return $
    $link;
      }
      
     
    //Tabelle selectieren 
        
    function mar_db_select_db($database) {
        return 
    mysql_select_db($database);
      }
      
      
    // Die Query
      
    function mar_db_query($query$link 'db_link') {
        global $
    $link;

     
        
    $result mysql_query($query, $$link) or mar_db_error($querymysql_errno(), mysql_error());

        return 
    $result;
      }
      
      
    //Fetching
      
    function mar_db_fetch_array(&$db_query,$cq=false) {

          if (
    DB_CACHE=='true' && $cq) {
            if (!
    count($db_query)) return false;
            
    $curr current($db_query);
            
    next($db_query);
            return 
    $curr;
          } else {
              if (
    is_array($db_query)) {
              
    $curr current($db_query);
              
    next($db_query);
              return 
    $curr;
              }
            return 
    mysql_fetch_array($db_queryMYSQL_ASSOC);
          }
      }

    //Schließen der DB
     
    function mar_db_close($link 'db_link') {
        global $
    $link;

        return 
    mysql_close($$link);
      }
      
      
      
    //ERROR
        
    function mar_db_error($query$errno$error) { 
        die(
    '<font color="#000000"><b>' $errno ' - ' $error '<br /><br />' $query '<br /><br /><small><font color="#ff0000">[XT SQL Error]</font></small><br /><br /></b></font>');
      } 
    auführ.php

    PHP-Code:
    $users mar_db_query("SELECT user_firstname FROM USERS WHERE user_id = '1'");
        
        
    print_r ($users); 

  • #2
    Ich habe eine Datei mit Funktionen erstellt die die db abfrage machen!!!
    Hast DU erstellt??? Nun wie wärs dann mit fetchen der Daten?

    Kommentar


    • #3
      ok darauf hätte ich auch kommen können... fetchen sollte man wohl in der ausführ db... wenn man die funktion dazu geschrieben hat sollte man vielleicht auch mal hinschauen.... bin ich doof

      Kommentar


      • #4
        Wieso schreibst Du eigentlich nicht gleich eine Klasse? Wo Du schon variable Connection-Variablen verwendest...

        Kommentar


        • #5
          Hmm und sowas hier soll sinnvoll sein?

          PHP-Code:
              function mar_db_select_db($database) {
              return 
          mysql_select_db($database);
            } 
          du schreibst ja nur einen Alias

          Kommentar


          • #6
            Zitat von nikosch Beitrag anzeigen
            Wieso schreibst Du eigentlich nicht gleich eine Klasse? Wo Du schon variable Connection-Variablen verwendest...
            mhhh wäre auch ne idee, aber soweit bin ich noch nicht, habe das erst mal mit den funktionen ausprobiert... soweit habe ich das wohl auch verstanden... nur die classes da hab ich noch son bisschen schwierigkeiten, wenn alles in einer datei steht is das komischerweise kein prob... die class tut ja sozusagen diese prozesse outsourcen... frag mich net warum ich mir da so schwer tue... wenn jemand mir das mal verständlich zeigen kann in welchem fall ich ne class anlege und wann nicht dann hilft mir das wohl erst mal weiter


            danke dir

            Kommentar


            • #7
              Zitat von cycap Beitrag anzeigen
              Hmm und sowas hier soll sinnvoll sein?

              PHP-Code:
                  function mar_db_select_db($database) {
                  return 
              mysql_select_db($database);
                } 
              du schreibst ja nur einen Alias
              soll für ne gesonderte selection sein is aber wenn ich das von dir höre und ich gehe davon aus du hast einiges aufm kasten sollte ich das wohl rauswerfen. muss zugeben bin auch noch net so fit was php betrifft aber ich kämpfe mich durch per lerning by doing und einem php handbuch... und verschiedenen php-projekten die ich zerlege und mir anschaue wie was funzt... hoffe das ist da auch der richtige weg

              Kommentar


              • #8
                hoffe das ist da auch der richtige weg
                Auf jeden Fall.

                wenn jemand mir das mal verständlich zeigen kann in welchem fall ich ne class anlege
                Na z.B., wenn Du dauerhaft Ressourcen (Eigenschaften) halten willst und mit verschiedenen Funktionen (Methoden) verwenden, wie in Deinem Fall bspw. die Verbindungsressource oder die der Query.

                http://professionelle-softwareentwicklung-mit-php5.de/

                Kommentar


                • #9
                  Naja, funktionieren wirds wohl, ist so aber überflüssig.

                  EDIT: man nikosch, red mir nicht immer dazwischen

                  Kommentar


                  • #10
                    Püh!

                    Kommentar


                    • #11
                      Zitat von cycap Beitrag anzeigen
                      Naja, funktionieren wirds wohl, ist so aber überflüssig.

                      EDIT: man nikosch, red mir nicht immer dazwischen

                      Naja die resource ID#8 is weg aber dafür keine ausgabe...

                      *lol* mit nem anderen script funzt die sau...

                      PHP-Code:
                          $user_query mar_db_query("SELECT * FROM users WHERE user_id = 1");
                          while(
                      $user mar_db_fetch_array($user_query)); 
                          
                          
                      print_r ($user); 
                      wenn ich das mit den normalen sql befehlen mach dann gehts...*lol*

                      Kommentar


                      • #12
                        Zitat von Skydiver12481 Beitrag anzeigen
                        Naja die resource ID#8 is weg aber dafür keine ausgabe...

                        *lol* mit nem anderen script funzt die sau...

                        PHP-Code:
                            $user_query mar_db_query("SELECT * FROM users WHERE user_id = 1");
                            while(
                        $user mar_db_fetch_array($user_query)); 
                            
                            
                        print_r ($user); 
                        wenn ich das mit den normalen sql befehlen mach dann gehts...*lol*
                        ok habs gerade selbst gefunden ein paar klammern zuviel und schon is die sache im eimer... *lol* hätte es wohl auch einfacher haben können

                        Kommentar


                        • #13
                          while($user = mar_db_fetch_array($user_query));
                          Auch sinnfrei. Zuletzt hast Du genau einen Eintrag in $user: FALSE!

                          Kommentar


                          • #14
                            Außerdem ist die Schleife da absolut Sinnfrei...

                            EDIT: schon wieder zu spät

                            Kommentar


                            • #15
                              Zitat von nikosch Beitrag anzeigen
                              Auch sinnfrei. Zuletzt hast Du genau einen Eintrag in $user: FALSE!

                              so nun steh ich aufm schlauch...

                              achso ja ok jetzt blick ich:

                              PHP-Code:
                              $user_query mar_db_query("SELECT * FROM users WHERE user_id = 1");
                                  
                              $user mar_db_fetch_array($user_query); 
                                  
                                  
                              print_r ($user); 
                              seit dem funzt es

                              Kommentar

                              Lädt...
                              X