Announcement

Collapse
No announcement yet.

Mysql Querry nur aus Variablen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mysql Querry nur aus Variablen

    Hallo liebe Gemeinde,

    ich bin schier am verzweifeln. Ich habe einen Updatebefehl der einfach nicht funzen will. Es ist ganz klar ein Syntax Problem aber irgendwie schnalle ich es einfach nicht.
    Die daten werden aus einem Formular an diese datei gesendet mit POST
    Also meine beiden Variablen.
    PHP Code:
        $id $_REQUEST['id'];    
        
    $lang $_REQUEST['lang'];
        
    $impr_site_title $_REQUEST['impr_site_title_']; 
        
    $impr_site_title_field "impr_site_title_".$lang
    Alle Variablen sind gefüllt und werden sauber übergeben. Geprüft mit echo und Fehlermeldung. Aber dazu gleich mehr.
    Hier nun der Nicht Funktionierende Query:
    PHP Code:
    $abfrage"UPDATE tab_objekte_impr SET 
         "
    .$impr_site_title_field."  =  ".$impr_site_title."
            WHERE id = "
    .$id.""
    Ich habe bereits verschiedene Versionen der ausklammerung probiert zum Beispiel '$xxxx' was die selben ergebnisse brachte ...
    Nämlich dieses:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
    ''impr_site_title_de' = 'testtitel6' WHERE id = 'ED'' at line 2


    Wie ihr an der Fehlermeldung sehen könnt sind alle Felder Ordnungsgemäß gefüllt. Es existiert das Tabellen Feld impr_site_title_de sowie auch die id ED

    Ich hoffe sehr jemand von euch hat eine Idee dazu. Ich nämlich nicht mehr. Und google kann ich auch schon nicht mehr sehen zu dem Thema. Es scheint so das es völlig unüblich ist einen Query nur aus Variablen zusammen zu setzen....

    Saludos
    Ich wünschte ich könnte XML

    Meine Favoriten: Clever suchen im Internet und Supersexy Logos für dein Handy

  • #2
    Lasse dir zur Fehlersuche immer das komplette generierte Statement ausgeben.

    Die Fehlermeldung passt nicht zum geposteten Code, es werden Anführungszeichen bemängelt welche im Code nicht gesetzt werden.

    'impr_site_title_de' = 'testtitel6'
    Es macht wenig Sinn ein String (hier: 'impr_site_title_de') updaten zu wollen.
    Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

    Comment


    • #3
      Upsss entschuldigung stimmt. Ich habe so viel Ausprobiert das ist was verrutscht.

      Aktuell :
      Unknown column 'ED' in 'where clause'


      Ich bitte nochmals um verzeihung ...
      Ich wünschte ich könnte XML

      Meine Favoriten: Clever suchen im Internet und Supersexy Logos für dein Handy

      Comment


      • #4
        Unknown column 'ED' in 'where clause'
        Jetzt hast du 2 Apostrophe zuwenig.

        Mache dir den Unterschied bewusst wie man Objektbezeichner notiert und wie man Strings notiert.
        Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

        Comment


        • #5
          Wo habe ich in meinem Query den Strings ?
          Do nur in meinen Variablen. Und somit sind es für mich Objekte. Was ich nicht verstehe ist warum er es oben schluckt (Im Query dann aber bei der Where klausel nicht. Obwohl sie ganz klar gleich sind).
          Ich wünschte ich könnte XML

          Meine Favoriten: Clever suchen im Internet und Supersexy Logos für dein Handy

          Comment


          • #6
            Wo habe ich in meinem Query den Strings ?
            Sowohl in der SET-Klausel als auch in der WHERE-Klausel.

            Do nur in meinen Variablen.
            PHP-Variablen interressieren MySQL herzlich wenig, PHP übergibt an MySQL lediglich ein STRING welcher ein Statement beinhaltet.
            Wie du diesen STRING zusammenbaust ist MySQL herzlich egal.

            Letztlich will MySQL nur ein gültiges Statement und das sieht so aus
            Code:
            UPDATE tabellenbezeichner 
            SET feldbezeichner = 'Stringwert'
            WHERE feldbezeichner = 'Stringwert'
            Statt 'Stringwert' kann es auch ein Numwert sein.
            Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

            Comment


            • #7
              Originally posted by dibo33 View Post
              Sowohl in der SET-Klausel als auch in der WHERE-Klausel.


              PHP-Variablen interressieren MySQL herzlich wenig, PHP übergibt an MySQL lediglich ein STRING welcher ein Statement beinhaltet.
              Wie du diesen STRING zusammenbaust ist MySQL herzlich egal.

              Ahh ok. So hab ich das bisher nicht gesehen. Danke für die Info.

              Letztlich will MySQL nur ein gültiges Statement und das sieht so aus
              Code:
              UPDATE tabellenbezeichner 
              SET feldbezeichner = 'Stringwert'
              WHERE feldbezeichner = 'Stringwert'
              Statt 'Stringwert' kann es auch ein Numwert sein.
              Das Problem ist das mein feldbezeichner auch eine variable ist und wenn ich es so mache:
              Code:
              UPDATE tabellenbezeichner 
              SET '$Stringwert' = '$Stringwert2'
              WHERE id  = '$Stringwert3'
              funzt es auch nicht.Dann nimmt er schon das Set nicht.
              Ich wünschte ich könnte XML

              Meine Favoriten: Clever suchen im Internet und Supersexy Logos für dein Handy

              Comment


              • #8
                Nochmals zu meinem ersten Satz
                Lasse dir zur Fehlersuche immer das komplette generierte Statement ausgeben.
                Wenn du das tust und mit meinen geposteten Staement vergleichst, wirst du feststellen, das 2 Hochkommas zuviel sind.

                Edit: und verwechsel nicht PHP-Strings mit SQL-Strings
                Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

                Comment


                • #9
                  Uhhhhh .. Mann bin vernagelt. Ok es geht. Tatsächlich die erste ohne Hochkommata ...
                  Vielen Dank
                  Ich wünschte ich könnte XML

                  Meine Favoriten: Clever suchen im Internet und Supersexy Logos für dein Handy

                  Comment


                  • #10
                    Tipp: als nächstes solltest du dich dringend mit dem Thema "SQL-Injection" beschäftigen!
                    Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

                    Comment


                    • #11
                      Vielen Dank für den Tip. Den Schritt Mysql_escape_string mache ich vorher noch. Hab es hier nur weg gelassen. Der einfachheit halber. Aber es stimmt schon. Damit habe ich mich schon lange nicht mehr befasst.
                      Ich wünschte ich könnte XML

                      Meine Favoriten: Clever suchen im Internet und Supersexy Logos für dein Handy

                      Comment

                      Working...
                      X