Datensatz Änderung übernehmen

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

  • Datensatz Änderung übernehmen

    He Hallo, habe folgendes Problem, habe 1 formular, wo ich mir datensatz anzeigen lassen kann, zum ändern, nachdem ich diesen geändert habe soll bei Formular 2 die Bestätigung kommen, das datensatz geändert wurde oder halt nicht.

    Bekomme folgenden Fehler, wenn ich datensatz geändert habe und auf speichern gehe

    You have an error in your SQL syntax near '' at line 1


    Formular 1(zum Datensatz ändern)
    PHP-Code:
    <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
    <html>
    <head>
    <title>Title here!</title>
    </head>
    <body>
    <?php
    if ($_POST['auswahl'])
    {
      
    $db mysql_connect("Grafik","root","")or die(mysql_error());

       
    mysql_select_db("firma") or die(mysql_error());

      
    $sqlab "select * from personen where";
      
    $sqlab .= " personalnummer = '".$_POST['auswahl']."'";

      
    $res mysql_query($sqlab) or die(mysql_error());

      
    $altnn mysql_result($res0"name");
      
    $altvn mysql_result($res0"vorname");
      
    $altge mysql_result($res0"gehalt");
      
    $altgt mysql_result($res0"geburtstag");

      echo 
    "Führen Sie die Änderungen durch,<p>";
      echo 
    "betätigen Sie anschließend den Button<p>";

      echo 
    "<form action = 'uf16c.php' ";
      echo 
    " method = 'post'>";

      echo 
    "<input name='neunn' value='$altnn'>";
      echo 
    " Nachname<p>";
      echo 
    "<input name='neuvn' value='$altvn'> ";
      echo 
    " Vorname<p>";
      echo 
    "<input name='neupn' value='$auswahl'>";
      echo 
    " Personalnummer<p>";
      echo 
    "<input name='neuge' value='$altge'>";
      echo 
    " Gehalt<p>";
      echo 
    "<input name='neugt' value='$altgt'>";
      echo 
    " Geburtstag<p>";
      echo 
    "<input type='hidden' name='oripn' ";
      echo 
    " value='$auswahl'>";

      echo 
    "<input type='submit' ";
      echo 
    " value='Änderungen in DB speichern'><p>";
      echo 
    "<input type='reset'>";
      echo 
    "</form>";

      
    mysql_close($db);
    }

    else
      echo 
    "Es wurde kein Datensatz ausgewählt<p>";
    ?>
    </body>
    </html>
    formular 2 (für die Bestätigung)

    PHP-Code:
    <html>
    <body>
    <?php
       $db 
    mysql_connect("Grafik","root","")or die(mysql_error());
       
    mysql_select_db("firma") or die(mysql_error());

       
    $sqlab "update personen set name = '$neunn',";
       
    $sqlab .= "vorname = '$neuvn',";
       
    $sqlab .= "personalnummer = '$neupn',";
       
    $sqlab .= "gehalt = '$neuge',";
       
    $sqlab .= "geburtstag = '$neugt'";
       
    $sqlab .= "where personalnummer = $oripn";

       
    $res mysql_query($sqlab) or die(mysql_error());
       
    //mysql_query("firma", $sqlab);

       
    $num mysql_affected_rows();
       if (
    $num>0)
          echo 
    "Der Datensatz wurde geändert<p>";
       else
          echo 
    "Der Datensatz wurde nicht geändert<p>";

       
    mysql_close($db);
    ?>
    Zurück zur <a href="uf16a.php">Auswahl</a>

    </body>
    </html>

  • #2
    Ich denke mal da fehlt ein Leerzeichen von dem WHERE :

    $sqlab .= "geburtstag = '$neugt' ";
    $sqlab .= "where personalnummer = $oripn";
    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
      Nein

      Nein leider nicht, der Fehler bleibt bestehen.

      Kommentar


      • #4
        Re: Nein

        Original geschrieben von sunburner
        Nein leider nicht, der Fehler bleibt bestehen.
        dann gib mal die fertig erzeugte query per echo aus, ob die auch wirklich so aussieht wie gewünscht.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Frage

          Geb mal nen tipp wie, bin doch ein absolut beginner

          Kommentar


          • #6
            Re: Frage

            Original geschrieben von sunburner
            Geb mal nen tipp wie, bin doch ein absolut beginner
            mit
            PHP-Code:
            echo $sqlab
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Eingefügt so

              PHP-Code:

                  $res 
              mysql_query($sqlab) or die(mysql_error());
                 
              //mysql_query("firma", $sqlab);

                  
              echo $sqlab
              die Ausgabe sieht so aus:

              You have an error in your SQL syntax near '' at line 1

              Kommentar


              • #8
                setz das echo mal vor die zeile mit mysql_query() und hier
                PHP-Code:
                $sqlab .= "where personalnummer = $oripn"
                solltest du $oripn auch in ' ' setzen. das wird wohl der fehler sein.
                Kissolino.com

                Kommentar


                • #9
                  Hab dieses

                  PHP-Code:
                  $sqlab .= "where personalnummer = '$oripn' ";

                                echo 
                  $sqlab;

                      
                  $res mysql_query($sqlab) or die(mysql_error()); 
                  folgende Ausgabe

                  update personen set name = '',vorname = '',personalnummer = '',gehalt = '',geburtstag = '' where personalnummer = '' Der Datensatz wurde nicht geändert
                  Zurück zur Auswahl

                  Kommentar


                  • #10
                    PHP-Code:
                    $sqlab .= "where personalnummer = '".$_POST['oripn']."' "
                    und mit den anderen variablen aus dem formular genauso
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      stelle fest, deine vars werden nicht an das script übergeben.
                      hatten wir das nicht schonmal??

                      >> $_POST[] !!
                      EDIT:
                      grrr, wieder verloren
                      Kissolino.com

                      Kommentar


                      • #12
                        reicht das?

                        Wenn ich es hier einfüge, reicht das
                        PHP-Code:
                        <?php
                        $variable 
                        $HTTP_POST_VARS['neunn'];
                        $variable1 $HTTP_POST_VARS['neuvn'];
                        $variable2 $HTTP_POST_VARS['neupn'];
                        $variable3 $HTTP_POST_VARS['neuge'];
                        $variable4 $HTTP_POST_VARS['neugt'];


                        if (
                        $_POST['auswahl'])
                        und im 2.formular auch gleich nach <?php

                        Kommentar


                        • #13
                          Ergänzung zu Datensatz Änderung

                          He muß alle nochmal hier nerven, habe Beitrag gepostet zum Thema "Datensatz Änderung übernehmen",

                          Mein Problem, habe zwar keine Fehlermeldung, aber die Änderung wird nicht in die Datenbank übernommen und das ist natürlich mist, es wäre nett wenn mir hier nochmal jemand helfen könnte.

                          Der Quelltext

                          PHP-Code:
                          <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
                          <html>
                          <head>
                          <title>Title here!</title>
                          </head>
                          <body>
                          <?php
                          $variable 
                          $HTTP_POST_VARS['neunn'];
                          $variable1 $HTTP_POST_VARS['neuvn'];
                          $variable2 $HTTP_POST_VARS['neupn'];
                          $variable3 $HTTP_POST_VARS['neuge'];
                          $variable4 $HTTP_POST_VARS['neugt'];


                          if (
                          $_POST['auswahl'])
                          {
                            
                          $db mysql_connect("Grafik","root","")or die(mysql_error());

                             
                          mysql_select_db("firma") or die(mysql_error());

                            
                          $sqlab "select * from personen where";
                            
                          $sqlab .= " personalnummer = '".$_POST['auswahl']."'";

                            
                          $res mysql_query($sqlab) or die(mysql_error());

                            
                          $altnn mysql_result($res0"name");
                            
                          $altvn mysql_result($res0"vorname");
                            
                          $altge mysql_result($res0"gehalt");
                            
                          $altgt mysql_result($res0"geburtstag");

                            echo 
                          "Führen Sie die Änderungen durch,<p>";
                            echo 
                          "betätigen Sie anschließend den Button<p>";

                            echo 
                          "<form action = 'uf16c.php' ";
                            echo 
                          " method = 'post'>";

                            echo 
                          "<input name='neunn' value='$altnn'>";
                            echo 
                          " Nachname<p>";
                            echo 
                          "<input name='neuvn' value='$altvn'> ";
                            echo 
                          " Vorname<p>";
                            echo 
                          "<input name='neupn' value='$auswahl'>";
                            echo 
                          " Personalnummer<p>";
                            echo 
                          "<input name='neuge' value='$altge'>";
                            echo 
                          " Gehalt<p>";
                            echo 
                          "<input name='neugt' value='$altgt'>";
                            echo 
                          " Geburtstag<p>";
                            echo 
                          "<input type='hidden' name='oripn' ";
                            echo 
                          " value='$auswahl'>";

                            echo 
                          "<input type='submit' ";
                            echo 
                          " value='Änderungen in DB speichern'><p>";
                            echo 
                          "<input type='reset'>";
                            echo 
                          "</form>";

                            
                          mysql_close($db);
                          }

                          else
                            echo 
                          "Es wurde kein Datensatz ausgewählt<p>";
                          ?>


                          </body>
                          </html>
                          und dann das formular zum überprüfen ob änderung vorgenommen

                          PHP-Code:
                          <html>
                          <body>
                          <?php
                          $variable 
                          $HTTP_POST_VARS['neunn'];
                          $variable1 $HTTP_POST_VARS['neuvn'];
                          $variable2 $HTTP_POST_VARS['neupn'];
                          $variable3 $HTTP_POST_VARS['neuge'];
                          $variable4 $HTTP_POST_VARS['neugt'];

                             
                          $db mysql_connect("Grafik","root","")or die(mysql_error());
                             
                          mysql_select_db("firma") or die(mysql_error());

                             
                          $sqlab "update personen set name = '$variable',";
                             
                          $sqlab .= "vorname = '$variable1',";
                             
                          $sqlab .= "personalnummer = '$variable2',";
                             
                          $sqlab .= "gehalt = '$variable3',";
                             
                          $sqlab .= "geburtstag = '$variable4' ";
                             
                          $sqlab .= "where personalnummer = '$oripn' ";

                              
                          $res mysql_query($sqlab) or die(mysql_error());

                               
                          $num mysql_affected_rows();
                             if (
                          $num>0)
                                echo 
                          "Der Datensatz wurde geändert<p>";
                             else
                                echo 
                          "Der Datensatz wurde nicht geändert<p>";

                             
                          mysql_close($db);
                          ?>
                          Zurück zur <a href="uf16a.php">Auswahl</a>

                          </body>
                          </html>

                          Kommentar


                          • #14
                            du hast die Personalnummer nicht über HTTP_POST_VARS im script initalisiert. Vielleicht liegst es daran.

                            Kommentar


                            • #15
                              Re: Ergänzung zu Datensatz Änderung

                              lass dir die update-query mal per echo ausgeben, und prüfe ob alles stimmt (variablenwerte etc.).

                              anschliessend fürge sie mal per c&p in phpmyadmin ein und überprüfe was dabei herauskommt.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X