Problem mit Abfrage

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

  • Problem mit Abfrage

    So, ich habe ein Problem, und komm seit einer Stunde net drauf warum ich des Prob habe. Ich bastle grad an einen Admin-Bereich und habe beim überprüfen, ob der User richtig eingeloggt ist folgenes Prob:

    erstmal mein Code:

    PHP-Code:
    <? 
    session_start();
    include("php/class_db.php");
    $db = new class_db;
    $userid = $db->db_get("SELECT usersession, id FROM members WHERE usersession='".session_id()."' ", id);
    $username = $db->db_get("SELECT usersession, name FROM members WHERE id='$userid'", name);
    if($userid == "") Header("Location: login.php");
    ?>
    genau hier ist irgendetwas falsch(die funktion db_get funktioniert einwandfrei):

    PHP-Code:
    SELECT usersessionid FROM members WHERE usersession='".session_id()."' 
    Wenn ich das script jetzt teste kommt folgende Fehlermeldung:
    Abfrage war ungültig!

    Wenn ich die Abrrage in phpMyAdmin ausführe, funkionierts aber.

    Und wenn ich über ein Formular einlogge, funktioniert es ohne Fehler, nur wenn ich die Datei direkt aufrufe kommt der Fehler.
    So, was ist an dem query jetzt falsch?

    Und zur Ergänzung noch meine funktion db_get:
    PHP-Code:
         function db_get($query$feld)
         {
                
    $res = @mysql_query($query$this->db_link) or die ("Abfrage war ungültig!".mysql_error());
                
    $res = @mysql_fetch_object($res) or die ("Abfrage war ungültig!".mysql_error());
                
    $res $res->$feld;
                return 
    $res;
         } 
    Zuletzt geändert von davidovich; 23.07.2004, 03:21.

    Forumregeln!

    Gute PHP-(tutorial-)Seiten

  • #2
    und du bekommst nur "Abfrage war ungültig!"?
    ohne dass noch was dahinter steht?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Es passt zwar nicht so ganz zu deiner Fehlerbeschreibung, aber hier könnte schonmal ein Hund begraben liegen ...

      PHP-Code:
      $userid $db->db_get("SELECT usersession, id FROM members WHERE usersession='".session_id()."' "id); 
      Ist das so gewollt, dass "id" ne Konstante ist, oder hast du die Anführungszeichen / das $-Zeichen vergessen?
      [color=red]Geht nicht[/color] ist keine Fehlermeldung

      Kommentar


      • #4
        Ja "Abrfrage war ungültig" kommt ohne Fehlerbeschreibung. Und das ist gewollt, dass "id" eine konstante iist, dann ich möchte Die Tabellenspalte "id" ansprechen, aber ich hab anführungszeichen trotzdem vergessen (die hab ihc dort no nie gemacht), naja hab sie mal gesetz und immer noch der gleiche Fehler
        Zuletzt geändert von davidovich; 23.07.2004, 12:47.

        Forumregeln!

        Gute PHP-(tutorial-)Seiten

        Kommentar


        • #5
          die funktion db_get funktioniert einwandfrei
          willst du sie nicht doch mal überprüfen?
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            hehe, hab ich mir gedacht dass das irgendwann mal kommt. Die Funktioniert einwandt frei denn:

            <? echo $db->db_get("SELECT id, nick FROM members WHERE id=$id", nick); ?>

            funktioniert (is zwar von aus einer anderen php-seite, aber die Funktion funktioniert)

            Forumregeln!

            Gute PHP-(tutorial-)Seiten

            Kommentar


            • #7
              die @ zeichen entfernst du schon beim debuggen, oder?

              Kommentar


              • #8
                Jop, (naja, die bringen eh nix, denn wenn ich sie mal nicht weglasse, kann trotzdem eine Fehlermeldung mit "Abfrage ungültig, ..." kommen)

                Forumregeln!

                Gute PHP-(tutorial-)Seiten

                Kommentar


                • #9
                  ist halt noch die frage, was steht in der konstante id;

                  aber um auch mal festzustellen was nciht geht - ist es nicht sinnvoll die erste fehlermeldung mal in "konnte abfrage nicht ausführen" oder sowas zu änderen, irgendwie weis ich nicht, welche zeile jetzt abbricht.

                  Kommentar


                  • #10
                    habs mal umgeändert wie du gesagt hast, jochenj, er brich hier ab:

                    PHP-Code:
                    $username $db->db_get("SELECT usersession, name FROM members WHERE id='$userid'"name); 

                    Forumregeln!

                    Gute PHP-(tutorial-)Seiten

                    Kommentar


                    • #11
                      wie werden eigentlich id und name deklariert?
                      $userid hat einen wert?

                      Kommentar


                      • #12
                        $userid hat einen wert?
                        Wenn usersession='".session_id()."' dann hat $userid einen Wert.

                        wie werden eigentlich id und name deklariert?
                        Siehe meine Funktion

                        Forumregeln!

                        Gute PHP-(tutorial-)Seiten

                        Kommentar


                        • #13
                          Original geschrieben von davidovich
                          Wenn usersession='".session_id()."' dann hat $userid einen Wert.
                          un das hast du getestet? mir scheint, dies ist der "einzigste" unterschied zwischen den beiden abfragen, des es das erste mal ja funktioniert und "nur" bei verwendung des ergebnisses $userid abbricht

                          Kommentar


                          • #14
                            Ja, hab mich mal mit dem Formular eingeloggt, und mir userid ausgegeben, hab mich ausgeloggt und die "geschützte Datei" direkt aufgerufen, dann kam wieder fehler

                            Forumregeln!

                            Gute PHP-(tutorial-)Seiten

                            Kommentar


                            • #15
                              Naja, habs zwar jetzt anders gelöst, aber ich glaub ich habe das Problem gefunden. und zwar wenn keine sessionid in der usersession-tabelle ist, dann kann man auch keine userid holen.
                              ... oder?.

                              Forumregeln!

                              Gute PHP-(tutorial-)Seiten

                              Kommentar

                              Lädt...
                              X