SQL Update table (totale Gehirnverknotung)

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

  • SQL Update table (totale Gehirnverknotung)

    Moin Leute,

    ich hab gerade einen totalen Knoten im Gehirn, und zwar bei folgendem:

    Es geht um eine DB Eintragung von geänderten, bereits vorhandenen Daten.

    PHP-Code:
    $result mysql_query("    

    UPDATE    `adress` 
                        
    SET     `nachname` = '
    $nname', vorname` = '$vname', `strasse` = '$strasse', `hausnummer` = '$hnr', 
    `plz` = '
    $plz', `ort` = '$ort', `land` = '$land', `telefon` = '$telefon', `mobil` = '$handy', `email` = '$email', 
    `homepage` = '
    $homepage', `messenger` = '$messenger'
        `zusatz` = '
    $zusatz'
    WHERE     `adress_id` ='
    $id';"); 
    Die Variablen im Text werden mittels POST vom vorherigen Formular übernommen, funktioniert auch alles soweit richtig...

    Nur die Eintragung in die DB will nicht so wie sie soll....

    vielleicht hab ich auch einfach einen Knoten im Kopf.....
    Zuletzt geändert von Lawman; 24.08.2006, 11:07.

  • #2
    Was passiert denn, wenn du diese Query absetzt?
    Gibt es überhaupt einen Datensatz mit adress_id = $id?
    Ist $id wirklich ein String?
    Du übernimmst die POST-Daten hoffentlich nicht ungeprüft!?

    (PS: Kenne nur den linken Teil deiner Query. Wenn du unsere Regeln nicht lesen willst, will ich auch nicht scrollen!)

    Kommentar


    • #3
      Re: SQL Update table (totale Gehirnverknotung)

      Regeln lesen, und machen was da steht!

      (Und wehe, jetzt wird wieder nur die Hälfte zur Kenntnis genommen ...)
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Funktioniert aber will nicht?

        $sql = "UPDATE .... usw."

        $res = mysql_query($sql) or die(mysql_error());
        gruss Chris

        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

        Kommentar


        • #5
          Hi nochmal!

          @ onemorenerd / wahsaga: sorry, habe den beitrag editiert....

          @ hhcm: Da sagt er mir "Leere Abfrage"

          SQL Befehl ist meiner Meinung nach richtig.

          $id ist der Primary Key, der auch vom vorigen Formular übergeben wird

          Hoffe jetzt kann man das Query besser lesen, war nicht meine Absicht, dass das so in die Breite geht *G*

          Kommentar


          • #6
            PHP-Code:
            $sql 'UPDATE ...... ';

            die(
            $sql);
            $res mysql_query($sql) or die(mysql_error); 
            Poste mal
            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              es kommt das dabei raus.....


              Unbekanntes Tabellenfeld '$id' in where clause

              adress_id is der primary key der tabelle, $id is ne variable, die vom vorigen formular übernommen wird.

              Kommentar


              • #8
                Das kann nicht da rauskommen.. Wenn du meinen Code nutzen würdest muss da deine Abfrage bei rauskommen und keine Fehlermeldung
                gruss Chris

                [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                Kommentar


                • #9
                  Völlig unmöglich!
                  PHP-Code:
                  $sql 'UPDATE ...... ';

                  die(
                  $sql); 
                  muß irgendwas mit "UPDATE ......" ausgeben und daran würdest du auch sehen, was mit $id nicht stimmt.

                  Kommentar


                  • #10
                    sorry, hatte in der flüchtigkeit da was nicht mit abgeschrieben, von euren tipps (das die($sql).

                    nun hier das, was da rauskommt:

                    PHP-Code:
                    UPDATE `adress
                    SET `nachname` = $nname, `vorname` = $vname, `strasse` = $strasse
                    `
                    hausnummer` = $hnr, `plz` = $plz, `ort` = $ort, `land` = $land, `telefon` = $telefon, `mobil` = $handy
                    `
                    email` = $email, `homepage` = $homepage, `messenger` = $messenger, `zusatz` = $zusatz 
                    WHERE 
                    `adress_id` = $id 

                    Kommentar


                    • #11
                      http://de3.php.net/manual/en/language.types.string.php

                      Kommentar


                      • #12
                        @all:

                        danke

                        @onemorenerd: dein Link hat mir geholfen... macnhmal sieht man den wald vor lauter bäumen einfach nicht!

                        thx

                        Kommentar


                        • #13
                          Aus dem ursprünglichen UPDATE-Befehl:

                          SET `nachname` = '$nname', vorname` = '$vname',

                          es hätte eine Fehlermeldung aufgrund des fehlenden backticks bei vorname` herauskommen
                          sollen. Der Rest war (fast) richtig.

                          das heisst, nach

                          `messenger` = '$messenger'

                          fehlte noch ein Komma.

                          Kommentar

                          Lädt...
                          X