problem mit mysql

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

  • problem mit mysql

    hey,

    ich hab folgendes problem: jedesmal wenn ich einen string mit einem datenbankeintrag vergleiche bekomme ich den fehler zurück, dass der eintrag nicht existiert.

    zb:

    SELECT * FROM `$login` WHERE `username` = `$username`

    gibt folgenden fehler:

    Unknown column 'username' in 'where clause'

    ich hab dermaßen oft gekuckt: ich hab nirgends tippfehler drin. es geht nur wenn ich einen integer benutze.

    dave

  • #2
    Re: problem mit mysql

    Unknown column 'username' in 'where clause'
    Du solltest überprüfen, was in deiner Variable $login steht und ob diese Tabelle wirklich die Spalte username besitzt!

    Kommentar


    • #3
      ja, genau. Wenn du vernünftiges Debugging betreiben würdest - nämlich die tatsächliche Query ansehen und nicht irgend nen pseudo-PHP-Code - dann hätten wir uns diesen Thread hier mal wieder sparen können.

      Anyway: Welcome on Board!

      Kommentar


      • #4
        hab ich alles überprüft, ich hab auch versucht in phpmyadmin direkt die query auszuführen. wie gesagt: es geht nur wenn ich zahlen vergleiche.

        Kommentar


        • #5
          Ist auch logisch, weil Strings und Zahlen unterschiedlich behandelt werden müssen. Strings müssen nämlich immer.... ? Genau
          ich glaube

          Kommentar


          • #6
            hey leute, ich bin echt nich so beschränkt

            nehmt einfach folgendes an:

            tabelle users:

            Code:
            username (VARCHAR) | passwd (VARCHAR) | data (INT)
            ----------------------------------------------
            BMN777             | bla              | 5
            jez mach ich folgende abfrage:

            Code:
            SELECT * FROM `users` WHERE `username` = `BMN777`
            und krieg dann den fehler:

            Code:
            Unknown column 'BMN777' in 'where clause'
            mach ich aber die abfrage:

            Code:
            SELECT * FROM `users` WHERE `data` = `5`
            dann gehts

            Kommentar


            • #7
              letzteres ist zwar auch nicht richtig, aber Mysql scheint da toleranter zu sein.

              Bitte lerne trotzdem Grundlagen.
              Integer gehören nicht in _____, Stings jedoch gehören immer in _____!

              (Hint: In beide Lücken kommt das gleiche Substantiv.)

              Kommentar


              • #8
                komm mir ja nicht mit scheiß anführungszeichen ich hab 2 stunden meines lebens mit allen möglichkeiten von anführungszeichensetzung verschwendet

                Kommentar


                • #9
                  Tja, wie wäre es, wenn du normale DoubleQuotes nimmst: "

                  Wenn du heute morgen mit MySQL angefangen hast, sind zwei Stunden für solche Grundlagen fast noch akzeptabel.

                  Kommentar


                  • #10
                    Wenn du bei
                    Code:
                    SELECT * FROM `users` WHERE `username` = `BMN777`
                    wirklich den Fehler
                    Code:
                    Unknown column 'BMN777' in 'where clause'
                    kriegst ist imho deine MySql DB im A.... Wennschon müsste die Fehlermeldung unknown column username lauten. Oder die obige Query ist nicht genau die die du an die DB sendest.
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      @Jahlives: Quatsch! Mach die Augen auf!
                      Es werden zwei Spalten angesprochen und welchen von denen ist mit ziemlicher Sicherheit keine?

                      Kommentar


                      • #12
                        Heisst das, dass MySql, wenn man den Vergleichsstring in Backticks angibt, diesen als Spaltennamen sieht ? Das wusste ich nicht (wär aber auch nicht auf die Idee gekommen einen String in Backticks zu packen)
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          Japp,

                          normalerweise ist es auch eher andersrum der Fall, also dass man z.B. bei reservierten Wörtern explizit Backticks anwendet.

                          Kommentar


                          • #14
                            Original geschrieben von jahlives
                            Heisst das, dass MySql, wenn man den Vergleichsstring in Backticks angibt, diesen als Spaltennamen sieht ? Das wusste ich nicht (wär aber auch nicht auf die Idee gekommen einen String in Backticks zu packen)
                            Hast du aber bestimmt im PMA nach einem Export gesehen!
                            Hatte ich im ersten Post des Erstellers allerdings auch übersehen ^^

                            Kommentar


                            • #15
                              OffTopic:
                              die erste query war sowieso bullshit.

                              Kommentar

                              Lädt...
                              X