Unknown column ... where clause

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

  • Unknown column ... where clause

    Hallo Zusammen,

    so funktioniert folgende Abfrage wunderbar
    $sqlx = "SELECT bereich, titel FROM $tabelle WHERE seite = ' seite1 ' ";

    Jetzt fülle ich die Variable $select1 mit dem Wert seite1
    $sqlx = "SELECT bereich, titel FROM $tabelle WHERE seite = $select1 ";

    und bekomme folgende Fehlermeldung:
    1054:Unknown column 'seite1' in 'where clause'

    Auch bei anderer Schreibweise ($select in einfachen Anführungszeichen):
    $sqlx = "SELECT bereich, titel FROM $tabelle WHERE seite = '$select1' ";

    Was mache ich verkehrt?
    Kann mir jemand weiterhelfen?

    Im voraus vielen Dank!
    Gruß
    Jofris

  • #2
    Das erste Ergebnis glaube ich Dir ... das zweite Ergebnis glaube ich Dir auch ... weil's logisch ist ...

    das dritte Ergebnis glaube Ich Dir nicht ... weil's nicht möglich ist ... laß Dir das Statement bevor Du's abschickst mal mit echo ausgeben ... !
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      $sqlx = "SELECT bereich, titel FROM $tabelle WHERE seite = '$select1' ";
      so sollte es gehen.

      bist du sicher, dass du $select1 richtig 'füllst' ?
      GNU/LINUX

      Kommentar


      • #4
        so sollte es meiner Meinung nach gehen:
        PHP-Code:
        $select1 "seite1";
        $sqlx "SELECT bereich, titel FROM $tabelle WHERE seite = '".$select1."'"
        Auf jeden Fall klappts bei mir so.
        Grüße an alle und weiterhin frohes Arbeiten

        Kommentar


        • #5
          Das macht ja richtig Sinn ... !!
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            Also ich mach das immer so und das funktioniert manchmal auch:

            $select1 = "seite1";
            $tabelle = "tabelle1";
            $sqlx = "SELECT bereich, titel FROM $tabelle WHERE seite = '$select1' ";

            Denke das macht auch sinn und ich hab ein Post mehr Juhuu...
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              die Frage wäre nur: konnten wirJofris helfen???????
              Grüße an alle und weiterhin frohes Arbeiten

              Kommentar


              • #8
                Die Frage ist warum man 3 Stds nach der richtigen Antwort die gleiche Antwort in abgewandelter Form nochmal gibt.
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  Erst einmal vielen Dank!

                  Mit so zahlreichen Antworten hätte ich gar nicht gerechnet.
                  Ich habe alle Eure Vorschläge ausprobiert aber bekomme fast immer die gleiche Fehlermeldung!

                  Mit einem Unterschied, ich bin jetzt einen Schritt weiter:

                  Wenn ich es so mache, wie von MelloPie vorgeschlagen, dann klappt es:

                  [COLOR=blue]$select1[/COLOR] = 'seite1';
                  echo "[COLOR=blue]$select1[/COLOR] "; ---> Ergebnis: seite1
                  $sqlx = "SELECT bereich, titel FROM $tabelle WHERE seite = '[COLOR=blue]$select1[/COLOR] ' ";

                  NUR wenn ich den Wert aus der Datenbank auslese, dann bekomme ich die Fehlermeldung auch wenn das Echo-Ergebnis gleich ist

                  echo "[COLOR=blue]$select1[/COLOR] "; ---> Ergebnis: seite1
                  $sqlx = "SELECT bereich, titel FROM $tabelle WHERE seite = '[COLOR=blue]$select1[/COLOR] ' ";

                  Fehlermeldung:
                  Abfrage SELECT bereich, titel FROM qc_content WHERE seite = seite1 konnte nicht ausgeführt werden
                  1054:Unknown column 'seite1' in 'where clause'


                  Selbst die Fehlermedung weiss, dass es sich hierbei um die seite1handelt!?

                  Also muss es doch irgendetwas mit dem "Format" von seite1 zu tun haben
                  Wenn ich seite1 selber über eine Variable festlege, dann klappt es und wenn ich seite1 aus einer Datenbank auslese, dann nicht ???

                  Ich hoffe einer von Euch nimmt sich meiner noch einmal an

                  Gruß
                  Jofris

                  Kommentar


                  • #10
                    Es kann aber diese Fehlermeldung nicht kommen wenn Du das Statement so aufbaust wie du's beschrieben hast:

                    $sqlx = "SELECT bereich, titel FROM $tabelle WHERE seite = '$select1' ";

                    Dann sind nämlich Anführungszeichen um das $select1 ... !!!!!!!!!!!

                    In Deiner Fehlermeldung heißt es aber eindeutig:

                    SELECT bereich, titel FROM qc_content WHERE seite = seite1

                    Also nix mit Anführungszeichen um $select1 i.e. seite1
                    carpe noctem

                    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                    Kommentar


                    • #11
                      Du hast recht

                      Das war verwirrend! Die Fehlermeldung erhalte ich nur ohne einfache Anführungszeichen. Mit einfachen Anführungszeichen passiert überhaupt nichts.
                      Die Fehlermeldung habe ich nur noch einmal aufgeführt, damit man sieht, dass der Wert wirklich erkannt wurde - sorry war blöd!

                      Also es passiert gar nichts, obwohl der Wert in der Variablen enthalten ist und per Echo auszugeben ist? Fülle ich die Variable "manuell", also
                      $select1 = "seite1";
                      dann funktioniert es und per Echo steht der gleiche Wert in der Variable, wie wenn ich sie aus der Datenbank auslese!???

                      Ich hoffe es hat noch einer einen weitere Idee!

                      Vielen Dank noch 'mal für die zahlreiche Hilfe!!!

                      Gruß
                      Jofris

                      Kommentar

                      Lädt...
                      X