Dynamisches Update

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

  • Dynamisches Update

    Hi,

    ich hab ein dynamisches Update. Der Update SQL String wird also dynamisch zusammengebaut mit einem Array.

    Nun möchte ich also SET Feld1 ='".$Variable1."' usw. Das sieht so aus:

    PHP-Code:
    $sSql2.= $keyvar2.'='.'".$wertvar2."'
    $keyvar2 ist also der Feldname in der Datenbank
    $wertvar2 ist der Wert fuer das entsprechende Feld

    ich brauche also Doppelte Anfuehrungszeichen, dann einfache, dann Punkt, dann Variable.

    Also Fehlermeldung kommt immer Query was empty. Ich habe mal den sSql2 ausgeben lassen und in PHPMyAdmin eingefügt. Da gab es auch eine Fehlermeldung und erst wenn ich alle Werte in " gepackt habe hat es geklappt. Es liegt also offentsichtlich ein Fehler bei den " oder dem '.

    Hat jemand einen Tip? Habe schon viele verschiedene Versionen probiert, aber nichts...

    Hoffe jemand kann helfen. Vielen Dank im Voraus.

    Gruss Luka

  • #2
    ich brauche also Doppelte Anfuehrungszeichen, dann einfache, ...
    andersherum.

    Kommentar


    • #3
      Stimmt natürlich. Der PHP Code zeigt das ja auch richtig herum, dennoch geht es nicht. Wo liegt da der Fehler?

      Kommentar


      • #4
        du sollst anführungsstriche verwenden, um in php strings zu kennzeichnen und hochkommate - um strings in sql zu kennzeichnen.
        escapen nicht vergessen.

        Kommentar


        • #5
          Ok, bedeutet das das hier falsch ist

          PHP-Code:
          $sql"INSERT INTO tblA (Name) VALUES '".$Name."'" 

          und wie muss dann das hier aussehen?

          PHP-Code:
          $sSql2.= $keyvar2.'='.'".$wertvar2."'
          weil so geht es auch nicht:


          PHP-Code:
          $sSql2.= $keyvar2.'='.'.$wertvar2.'
          oh man ist das verzwickt.

          Kommentar


          • #6
            http://www.das-dass.de/

            versuche die zuweisung von $sSql2 so zu gestalten, als wäre es $sql aus deinem ersten beispiel.
            PHP-Code:
            $sql"INSERT INTO tblA (Name) VALUES '".$Name."'" 
            ist genau richtig.

            Kommentar


            • #7
              Genau das habe ich versucht, aber egal was ich bisher probiert habe, klappt es nicht.

              Ich dachte das hier wäre der Weg:
              PHP-Code:
              $sSql2.= $keyvar2.'='.'".$wertvar2."'
              Ich weiß da einfach nicht weiter, kannst Du mir nicht einen kleinen Tip geben? Ich bin mir sicher das Du die Lösung kennst.

              Bin ich weit von der Lösung entfernt?

              Kommentar


              • #8
                PHP-Code:
                $sSql2.= $keyvar2.'="'.$wertvar2.'"'
                EDIT:
                Eine Runde Sekt
                Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                Kommentar


                • #9
                  das sieht gut aus und in MyAdmin kommt keine Fehlermeldung mehr, aber ich habe immer noch

                  PHP-Code:
                  Database Error 1065 Query was empty 
                  wisst Ihr woran das liegen könnte?

                  Kommentar


                  • #10
                    zeig die query doch mal eben hier.

                    Kommentar


                    • #11
                      Ok, ich weiß woran....

                      Mal $sSQL und mal $sSql schreiben klappt halt nicht

                      Euch beiden vielen Dank für die Hilfe. Wer weiß wie lange ich noch daran geknabbert hätte. Super, jetzt kanns weiter gehen.

                      Bis denn und nochmal vielen Dank.

                      Gruß Luka

                      Kommentar


                      • #12
                        dann stelle error_reporting hoch.

                        Kommentar

                        Lädt...
                        X