update und insert

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

  • update und insert

    hallo zusammen

    ich habe ein kleines problem unzwar möchte ich mit einem formular daten in ene datenbank eintragen oder updaten. mein problem liegt darin das ich versucht habe das eintrag- und updateskript mit switch verbunden aber es geht nich???

    das script

    switch ($submit)
    {
    case "Update":
    $sql = "UPDATE products
    SET id='$id', kategorie='$kategorie', bild='$bild', name='$name', Besonderheiten_1='$Besonderheiten_1', Besonderheiten_2='$Besonderheiten_2', Besonderheiten_3='$Besonderheiten_3', Besonderheiten_4='$Besonderheiten_4', Besonderheiten_5='$Besonderheiten_5', Besonderheiten_6='$Besonderheiten_6', Besonderheiten_7='$Besonderheiten_7', Besonderheiten_8='$Besonderheiten_8', preis='$preis', preis_1='$preis_1', preis_2='$preis_2', preis_3='$preis_3', preis_4='$preis_4', netz='$netz', maße='$maße', display='$display', rufnummernspeicher='$rufnummernspeicher', akku='$akku', thumb='$thumb', beschreibung='$beschreibung', hersteller='$hersteller' where id='$id'";
    mysql_query($sql)
    or die ('<b>Fehler beim Eintragen: </b>'. mysql_error());
    echo "<h3>Update hat funktioniert!</h3>";
    echo mysql_affected_rows();
    break;

    case "Eintragen":
    $sql = "Insert into products
    (id, kategorie, bild, name, Besonderheiten_1, Besonderheiten_2, Besonderheiten_3, Besonderheiten_4, Besonderheiten_5, Besonderheiten_6, Besonderheiten_7, Besonderheiten_8, preis, preis_1, preis_2, preis_3, preis_4, netz, maße, display, rufnummernspeicher, akku, thumb, beschreibung, hersteller)
    values
    ('$id','$kategorie','$bild','$name','$Besonderheiten_1','$Besonderheiten_2','$Besonderheiten_3','$Be sonderheiten_4','$Besonderheiten_5','$Besonderheiten_6','$Besonderheiten_7','$Besonderheiten_8','$pr eis','$preis_1','$preis_2','$preis_3','$preis_4','$netz','$maße','$display','$rufnummernspeicher','$ akku','$thumb','$beschreibung','$hersteller')";
    mysql_query($sql)
    or die ('<b>Fehler beim Eintragen: </b>'. mysql_error());
    echo "<h3>Neuer Artikel angelegt</h3>";
    echo mysql_affected_rows();
    break;
    }

    kann mir einer helfen?

    danke
    olli

  • #2
    Was funktioniert denn nicht?
    Also, beim Insert bin ich mir nicht sicher, was mysql_affected_rows() zurückgibt, aber du solltest vielleicht doch besser mysql_insert_id() abfragen.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      das werd ich mal versuchen!
      aber seit dem ich das mit der switch anweisung versuche funktioniert gar nix mehr weder der eintrag noch der update???


      olli

      Kommentar


      • #4
        Sieh dir mal an was in $submit drin steht - vielleicht wird da ein Wert übergeben den du nicht behandelst

        Kommentar


        • #5
          die sehen so aus

          <input type='submit' name='Eintragen' value='Eintragen'>
          <input type='submit' name='Update' value='Update'>

          ich glaub doch da is alles drin?

          olli

          Kommentar


          • #6
            Re: update und insert

            PHP-Code:
            switch ($submit)
            {
            case 
            "Update":
               
            $sql "UPDATE products SET
               kategorie='
            $kategorie',
               bild='
            $bild', name='$name',
               Besonderheiten_1='
            $Besonderheiten_1',
               Besonderheiten_2='
            $Besonderheiten_2',
               Besonderheiten_3='
            $Besonderheiten_3',
               Besonderheiten_4='
            $Besonderheiten_4',
               Besonderheiten_5='
            $Besonderheiten_5',
               Besonderheiten_6='
            $Besonderheiten_6',
               Besonderheiten_7='
            $Besonderheiten_7',
               Besonderheiten_8='
            $Besonderheiten_8',
               preis='
            $preis',
               preis_1='
            $preis_1',
               preis_2='
            $preis_2',
               preis_3='
            $preis_3',
               preis_4='
            $preis_4',
               netz='
            $netz',
               maße='
            $maße',
               display='
            $display',
               rufnummernspeicher='
            $rufnummernspeicher',
               akku='
            $akku',
               thumb='
            $thumb',
               beschreibung='
            $beschreibung',
               hersteller='
            $hersteller' where id='$id'";
               break;

            case 
            "Eintragen":
               
            $sql "Insert into products 
               (id, kategorie, bild, name, Besonderheiten_1, Besonderheiten_2, Besonderheiten_3, Besonderheiten_4, Besonderheiten_5, Besonderheiten_6, Besonderheiten_7, Besonderheiten_8, preis, preis_1, preis_2, preis_3, preis_4, netz, maße, display, rufnummernspeicher, akku, thumb, beschreibung, hersteller)
               values
               '
            $id','$kategorie','$bild','$name','$Besonderheiten_1','$Besonderheiten_2','$Besonderheiten_3','$Besonderheiten_4','$Besonderheiten_5','$Besonderheiten_6','$Besonderheiten_7','$Besonderheiten_8','$preis','$preis_1','$preis_2','$preis_3','$preis_4','$netz','$maße','$display','$rufnummernspeicher','$akku','$thumb','$beschreibung','$hersteller')";
               break;
            }

            mysql_query($sql)
            or die (
            '<b>Fehler beim Eintragen: </b>'mysql_error());
            echo 
            "<h3>Neuer Artikel angelegt</h3>";
            echo 
            mysql_affected_rows(); 
            Zum einen würd' ich's erstmal so in der Art machen und dann würde ich mir nach dem select { } mal mit echo $sql; das Statement ausgeben lassen und einer Sichtprüfung unterziehen.
            Ausserdem würde mich die Ausgabe des mysql_error() interessieren.
            Zusätzlich kann man das Statement ja mal vom phpMyAdmin ausführen lassen und schauen was der dazu zu sagen hat.

            Im übrigen finde ich einen Variablen Namen $maße schon recht ungewöhnlich!!!
            Zuletzt geändert von goth; 15.05.2002, 14:27.
            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


            • #7
              Nein so funktioniert es leider nicht (soweit ich weis). Submit wird nicht als Variable mit übergeben. Kannst aber sicherheitshalber ausprobieren indem du sie einfach vor dem switch ausgibst :
              echo $submit

              Kommentar


              • #8
                Original geschrieben von SeTom
                Nein so funktioniert es leider nicht (soweit ich weis). Submit wird nicht als Variable mit übergeben. Kannst aber sicherheitshalber ausprobieren indem du sie einfach vor dem switch ausgibst :
                echo $submit
                Nein ... die heisst natürlich dann $Eintragen oder $Update ... machmal bin ich aber auch zu blind ... !
                Trotzdem würde ich oben erwähntes ändern und $maße in $masse umbenennen.
                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


                • #9
                  Hi Olli,

                  deine Input felder sind falsch benannt.

                  Du willst in die Variable submit einen wert übergeben. Dann müssen Deine input felder auch name=submit heissen, damit submit als variable vollgeschrieben wird.

                  Gruß,

                  Faustus

                  Kommentar


                  • #10
                    danke schon mal für die tips. naja ich geb ja zu das maße nich ganz so der idealfall ist!!
                    aber ich bin ja auch noch neu in dieser branche mit dem programmieren
                    nun ja ich bekomme jetzt aber noch eine fehlermeldung zurück und er trägt noch nichts ein. die fehlermeldung:

                    Fehler beim Eintragen: Leere Abfrage.
                    hat einer da noch nen tip???

                    olli

                    Kommentar


                    • #11
                      Du musst die Eingabefelder schon "submit" nennen, wenn du den Wert in $submit haben willst:

                      <input type='submit' name='submit' value='Eintragen'>
                      <input type='submit' name='submit' value='Update'>
                      mein Sport: mein Frühstück: meine Arbeit:

                      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                      Kommentar


                      • #12
                        Original geschrieben von ostyle
                        danke schon mal für die tips. naja ich geb ja zu das maße nich ganz so der idealfall ist!!
                        aber ich bin ja auch noch neu in dieser branche mit dem programmieren
                        nun ja ich bekomme jetzt aber noch eine fehlermeldung zurück und er trägt noch nichts ein. die fehlermeldung:

                        Fehler beim Eintragen: Leere Abfrage.
                        hat einer da noch nen tip???

                        olli
                        $maße hatte mich nur gewundert ... ich war mir gar nicht bewusst das PHP das zulässt ...
                        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


                        • #13
                          Original geschrieben von goth
                          $maße hatte mich nur gewundert ... ich war mir gar nicht bewusst das PHP das zulässt ...
                          Hups ... gut gesehen! Weder PHP noch SQL lassen das zu (offiziell)!
                          mein Sport: mein Frühstück: meine Arbeit:

                          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                          Kommentar

                          Lädt...
                          X