Querry was empty

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

  • Querry was empty

    Nachdem ich meine Seite von einem Unixrechner auf ein Windows-Server umgezogen habe traten ein paar kleinere Probleme auf für die ich keine Erklärung habe.

    In einem frame befindet sich die Loginarea für die User. Wenn der user nun seine Daten abschickt dann holt sich das Script anhand des Usernamens die Daten aus der Datenbank.

    Select * from user_table where username='$username'

    Diese Abfrage ergibt nun eine Fehlermeldung "Querry was empty" obwohl die Variable $username mit einem korrekten Usernamen aus der DB gesetzt ist und bei direkter Abfrage sehr wohl ein Ergebnis liefert.

    Das misteriöse ist jetzt. gibt der User die Daten erneut ein oder macht er einfach einen Reload des Frames dann liefert die Querry ein korrektes Ergebnis und der User kann sich einloggen.

    Wenn man den die Frameseite als einzelne Seite aufruft ist das Ergebis der Select-Abfrage beim ersten Mal korrekt und der Login-Vorgang klappt beim ersten Mal.

    Hat dafür jemand eine Erklärung. Ich nutze derzeit Apache 2, PHP 4.3.1 und MySQL 4.0.12. Ich weiß das die PHP-Version für Apache 2 noch experimental ist. Ich habe aber zur Sicherheit auch Apache 1.3 und ältere und neuere PHP-Versionen sowie Mysql-Versionen auspropiert und der Fehler war immer der gleiche. Ich habe also keine Erklärung für die Sache.

    Kann mir da jemand weiterhelfen?

    Gruss René

  • #2
    Re: Querry was empty

    ohne den code gesehen zu haben, tippe ich auf einen fehler in zeile 24.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Also der Code ist 100% korrekt. Die Scripte liefen mehrere Jahre ohne Macken. Die Varibable $username ist auch richtig gesetzt. Das Merkwürdige ist ja das die ganze Sache sofort funktioniert wenn man den Loginframe als einzelne Seite läd. Läd man sie in einem Frameset dann ist ein einmaliger reload der Seite nötig eh alles funktioniert.

      Kommentar


      • #4
        Also der Code ist 100% korrekt.
        wenn der code 100% korrekt ist, sollte ja alles funktionieren.

        warum postest du dann?
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          poste mal Dein Code...
          das wäre sicher hilfreich
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Kommentar


          • #6
            Wie gesagt der einzige Code der interessant ist ist diese eine Abfrage:

            Select * from user_table where username='$username'

            Der User dummy meldet sich jetzt beispielsweise an. Dann hab ich mir die Variable $username natrülich ausgeben lassen. Und $username hat den korrekten Wert dummy.

            In der Datenbank gibt es natürlich einen user dummy. Wenn ich jetzt diese Abfrage direkt über mein DB-Tool abschicken bekomm ich natürlich eine korrekte Tablellenzeile zurück.

            Auf meiner Seite allerdings ist ergibt das erstmalige aufrufen des Framesets mit dem Login-frame eine Fehlermeldung "Querry was empty" obwohl die Abfrage selber syntaktisch 100% korrekt ist. Versucht der User mit den selben Daten sich ein zweites Mal einzuloggen dann klappt es. Das heißt die selbe Abfrage wie beim ersten Mal ergibt ein anderes, das richtige Ergebnis. Ruft man nun den Login-Frame als einzelne Seite auf dann ist die Abfrage gleich beim ersten Mal erfolgreich. Da ich die Scripte gründlich überprüft habe und die gleichen Scripte vorher 2 Jahre ohne Mucken funktioniert haben und es schon ungewöhnlich ist wenn eine Abfrage zu verschiedenen Zeiten unterschiedliche Ergebnisse bringt denke ich das es nicht an dem Code liegt.

            Die Sache ist die, auf dem Unix-System funktioniert alles, dieselbe konfiguration erzeugt aber bei Windows den beschriebenen Fehler. Irgendwie scheint es ja da Probleme mit dem Frame zu geben weil wenn die Seite einzeln aufgerufen wird ist alles ok.

            Ich hab das Problem erstmal damit gelöst das der Frame nach einer Sekunde nochmal geladen wird. Und siehe da dann klappt der erste Login. Mach ich den Reload sofort dann geht es nicht. Das kann aber nicht die eigentiche Lösung sein. Alles sehr sonderbar...

            Kommentar


            • #7
              Wenn Du meinst dass man Dein Problem hier lösen kann ohne dass Du etwas mehr rausrückst, ok...
              Viel Erfolg.
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar


              • #8
                Wie gesagt der Code hilft nicht weiter da die Abfrage ja korrekt ist. Das heißt er schickt an die Datenbank die Abfrage:

                Select * from user_table where username='dummy'

                Und jetzt hät ich mal gehofft das vielleicht irgendwer schonmal ein ähnliches Phänomen hatte. Das einmal das Ergbnis Querry was empty, wobei ja normalerweise wenn er nix findet eine Leere Liste ausgegeben wird und nicht die Meldung "Querry was empty" und dieselbe Abfrage beim zweiten Mal die korrekten Daten zurück gibt.

                Vielleicht gibt es irgendwo noch einen klitzekleinen Konfigurationsschritt am Server oder dergleichen der dafür sorgt das in dem Frame alles korrekt zugeht.

                Aber wenn keiner von euch jemals sowa gesehen hat dann muß ich wohl mit meiner Notlösung leben und schauen was in Zukunft kommt.

                Kommentar


                • #9
                  "Query was empty" ist die Fehlermeldung,
                  wenn du einen leeren String als SQL Abfrage
                  an den Server schickst.

                  Also ist dein Code NICHT richtig !!!

                  also sowas:

                  mysql_query("",$linkid);

                  löst diesen Fehler aus
                  TBT

                  Die zwei wichtigsten Regeln für eine berufliche Karriere:
                  1. Verrate niemals alles was du weißt!


                  PHP 2 AllPatrizier II Browsergame

                  Kommentar


                  • #10
                    Ich geh auch immer in Die Autowerkstatt und sage mein Auto macht komische Sachen, bringe es aber nie mit...
                    Beantworte nie Threads mit mehr als 15 followups...
                    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                    Kommentar


                    • #11
                      Dass Dein Code jahrelang gut gelaufen ist, glauben wir Dir ja! Wir würden ihn aber gerne trotzdem sehen, um zu schauen ob z.B. ein Windows-PHP-typisches Fehlverhalten hinter deinem Problem steckt. So kommen wir nicht weiter!

                      Kommentar


                      • #12
                        OffTopic:
                        aber wenn er keine hilfe will, kann ihm auch nicht geholfen werden.
                        lassen wir es einfach.
                        sowas schlechtes ist uns ja noch nie über den weg gelaufen. hilfe wollen aber keine infos geben.
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar

                        Lädt...
                        X