Hilfe ...Ich hab ein Problem mit UPDATE, bin am verzweifeln !

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

  • Hilfe ...Ich hab ein Problem mit UPDATE, bin am verzweifeln !

    Hallo,
    ich fange gerade mit PHP an und hab auch schon ein riesen Problem!
    Ich möchte eine Terminverwaltung realisieren und kann per PHP die Datenbank lesen und einen Datensatz zur Änderung auswählen. Die Änderung wird aber nicht durchgeführt, hab schon stundenlang dran rumprobiert, ohne Erfolg.

    Wer kann mir helfen ??

    Hier der Code :
    PHP Code:
    <html>
    <body>
     <form method = "POST" >
    <?php
    require_once ('Konfiguration.php');

    $auswahl $_POST['Nummer'];
    $neuDatum $_POST['neuDatum'];
    $neuZeit $_POST['neuZeit'];
    $neuVorname $_POST['neuVorname'];
    $neuNachname $_POST['neuNachname'];
    $neuTelefon $_POST['neuTelefon'];
    $neuBemerkung $_POST['neuBemerkung'];
    $neuEingetragen $_POST['neuEingetragen'];
    $timestamp time();
    $datum date("Y-m-d H:i:s"$timestamp);  


    $db_link mysql_connect (MYSQL_HOSTMYSQL_BENUTZERMYSQL_KENNWORT);
    mysql_select_db(MYSQL_DATENBANK,$db_link);
    $tab "Tandemtermine" 
    $sqlab1 "UPDATE Tandemtermine SET Datum = '$neuDatum' WHERE Nummer = $auswahl";
       
    $sqlab "UPDATE Tandemtermine SET Datum = '$neuDatum' ,";
       
    $sqlab .= " Zeit = $neuZeit ,";
       
    $sqlab .= " Vorname = $neuVorname ,";
       
    $sqlab .= " Nachname = $neuNachname ,";
       
    $sqlab .= " Telefon = $neuTelefon ,";
       
    $sqlab .= " Bemerkung = $neuBemerkung ,";
       
    $sqlab .= " Eingetragen = $neuEingetragen ,";
       
    $sqlab .= " update = $datum";
       
    $sqlab .= " WHERE Nummer = $auswahl";
    echo 
    $sqlab;
    echo 
    "      ";

      
    $result mysql_db_query($sqlab,MYSQL_DATENBANK);

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

       
    mysql_close();
    ?>
    Zurück zur <a href="Index.php">Auswahl</a>
    </form>
    </body>
    </html>
    Die Ausgabe sieht dann folgendermaßen aus :

    UPDATE Tandemtermine SET Datum = '01.04.2011' , Zeit = 11:00 , Vorname = Eckhardt , Nachname = , Telefon = , Bemerkung = , Eingetragen = Ecki , update = 2010-12-29 14:32:24 WHERE Nummer = 2 Der Datensatz wurde nicht geändert
    Zurück zur Auswahl
    Last edited by Ecki1111; 29-12-2010, 13:32.

  • #2
    Hi.

    Bitte nutze die PHP Tags für deinen Code. Weiterhin öffnest Du 2x ne DB Verbindung, warum? Und was wilslt Du mit echo""; erreichen??

    mfg streuner
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
    der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

    "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

    Comment


    • #3
      Originally posted by streuner View Post
      Hi.

      Bitte nutze die PHP Tags für deinen Code. Weiterhin öffnest Du 2x ne DB Verbindung, warum? Und was wilslt Du mit echo""; erreichen??

      mfg streuner
      Hallo,
      dank für die schnelle Antwort!

      Das zweite öffnen der Datenbank hab ich eingetragen um zu sehen ob es auch wirklich funktioniert, entferne ich wieder. Es klappt aber trotzdem nicht mit dem Update.
      Die Ausgabe per Echo hab ich nur zu Kontrollzwecken !
      Last edited by Ecki1111; 29-12-2010, 13:33.

      Comment


      • #4
        Ja, aber du gibst ja nichts aus damit! Führ mal ein korrektes debugging durch: check dein SQL Statement (testweise mal in phpmyadmin einfügen), übergebene Werte prüfen usw.

        mfg streuner
        Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
        der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

        "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

        Comment


        • #5
          Originally posted by streuner View Post
          Ja, aber du gibst ja nichts aus damit! Führ mal ein korrektes debugging durch: check dein SQL Statement (testweise mal in phpmyadmin einfügen), übergebene Werte prüfen usw.

          mfg streuner
          Hi,
          die Ausgabe per Echo gibt mir den SQL-String so wie er übergeben wird aus. Hab ihn mal in phpmyadmin eingegeben und es funktioniert!
          Hier nochmal die Ausgabe :
          [COLOR="red"]UPDATE Tandemtermine SET Datum = '01.04.2011' , Zeit = '11:00' , Vorname = 'Ich' , Nachname = 'wars' , Telefon = '04164' , Bemerkung = 'aaaaaaa' , Eingetragen = 'Ecki' WHERE Nummer = '2'[/COLOR]

          Das sind exakt die Werte der Variablen, die ich im aufrufenden Formular gefüllt habe !
          In die Zwischenablage kopiert und über phpmyadmin eingefügt funktioniert es !

          Gruß
          Ecki
          Last edited by Ecki1111; 29-12-2010, 14:57.

          Comment


          • #6
            PHP Code:
            // ...
            $sqlab .= " update = $datum";
            // ... 

            Ist "update" nicht ein reservierter Name, genau so wie "Alter", ... ?

            Comment


            • #7
              Originally posted by medium22 View Post
              PHP Code:
              // ...
              $sqlab .= " update = $datum";
              // ... 

              Ist "update" nicht ein reservierter Name, genau so wie "Alter", ... ?
              Hallo,
              ich hab update aus dem Skript entfernt, funzt aber trotzdem nicht !
              Gruß Ecki

              Comment


              • #8
                Originally posted by medium22 View Post
                Ist "update" nicht ein reservierter Name, genau so wie "Alter", ... ?
                Auch reservierte Namen kann man verwenden. Sie müssen nur in entsprechende Hochkommata gesetzt werden.

                Ansonsten ist Dein SQL Statement absolut nicht sicher. Informiere Dich bitte über SQL Injection. Weiterhin solltest Du Dein Error-Reporting mal einschalten. Dein SQL Statement im ersten Beitrag ist alles andere als korreckt. Es sollte eine Fehlermeldung ausgeworfen werden.
                MM Newmedia | MeinBlog

                Comment


                • #9
                  Hat sich soeben erledigt !

                  Hallo an alle,
                  ich hab das Datenfeld "update" in der Tabelle umbenannt und siehe da, es funktioniert!
                  Dank an Euch für die schnellen Antworten !
                  Gruß
                  Ecki

                  Comment

                  Working...
                  X