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

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

  • 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
    Zuletzt geändert von Ecki1111; 29.12.2010, 14: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 ---"

    Kommentar


    • #3
      Zitat von streuner Beitrag anzeigen
      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 !
      Zuletzt geändert von Ecki1111; 29.12.2010, 14:33.

      Kommentar


      • #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 ---"

        Kommentar


        • #5
          Zitat von streuner Beitrag anzeigen
          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
          Zuletzt geändert von Ecki1111; 29.12.2010, 15:57.

          Kommentar


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

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

            Kommentar


            • #7
              Zitat von medium22 Beitrag anzeigen
              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

              Kommentar


              • #8
                Zitat von medium22 Beitrag anzeigen
                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

                Kommentar


                • #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

                  Kommentar

                  Lädt...
                  X