Änderung in Datensatz eintragen

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

  • Änderung in Datensatz eintragen

    Hallo,
    ich habe da ein Problem:
    In einen bestehenden Datensatz soll ein einzelner Wert geändert werden.
    Dieser Wert wurde ermittelt und ist $Wert = 1;
    Dann rufe ich Update auf

    $query = "UPDATE daten SET Wert = '$Wert' WHERE id = $id";
    Nun müsste er doch in dem Feld "Wert" die vorherige Zahl überschreiben.
    Macht er aber nicht.
    Es sind neben der ID noch weitere vier Felder vorhanden.
    Hat das damit zu tun?

    Gruß, Hoffi
    Gruß Hoffi aus Radeberg

  • #2
    Zeig mal etwas mehr Code, der Fehler liegt eher woanders.
    error_reporting aufgedreht ud mysql_error() ausgeben lassen?

    Kommentar


    • #3
      Debugging?

      Regeln beachtet?
      Query ausgegeben?
      Query in MyAdmin getestet?
      mysql_affected_rows() sagt was?

      Kommentar


      • #4
        Natürlich funktioniert Query.
        Von der Hauptdatei können ja auch die Daten geladen und gelesen werden.
        Ich will nur einen Wert in einem Feld nachträglich ändern.
        Das ist hier die Frage.

        Gruß, Hoffi
        Gruß Hoffi aus Radeberg

        Kommentar


        • #5
          Die Hauptdatei nutzt zum Lesen bestimmt nicht deine Update-Query.
          Fang an zu debuggen, sonst wird das hier nichts.

          Ist die Spalte Wert eigentlich numerisch? Warum willst du sie dann mit einem String füllen?
          Ist sie nicht? Warum nicht?

          Kommentar


          • #6
            Die Hautdatei, mit der ich die Daten hochlade, hat neben der INSERT-Funktion den gleiche UPDATE, wenn es sich um ein Update handelt.

            Nur dieser eine Wert, es handelt sich um 0 oder 1 (Feld ist Smallint), soll später bei Bedarf geändert werden.
            Es handelt sich um zwei Datumwerte, Beginn und Ende, die jeweils mit dem aktuellen Datum verglichen werden.
            Ist das Beginndatum == dem aktuellen Datum, wird eine 1 gesetzt, ist dann später das Ende == dem aktuellen Datum wird der Wert wieder Null gesetzt.
            Was soll ich da debuggen?
            Warum wird dieser eine Wert sich dann nicht verändert?

            $anzahl = mysql_affected_rows();
            hat den Wert 1 angezeigt.

            Gruß, Hoffi

            PS: Jetzt gucke ich erst mal Fußball, Deutschland : Portugal.
            Gruß Hoffi aus Radeberg

            Kommentar


            • #7
              $anzahl = mysql_affected_rows(); hat den Wert 1 angezeigt.
              Dann wurde auch was geändert. Basta!

              PS: Jetzt gucke ich erst mal Fußball, Deutschland : Portugal.
              ja.
              Zuletzt geändert von TobiaZ; 19.06.2008, 20:59.

              Kommentar


              • #8
                Dann wurde auch was geändert. Basta!
                Ja, aber eben nicht der gewünschte Wert.
                Ich habe aber unterdessen einen anderen Weg gefunden. Da benötige ich den Eintrag in die Datenbank nicht.

                Danke für Deine Hilfestellung.

                Tschüß, Hoffi.

                PS: Das Problem, warum der Eintrag nicht erfolgte, untersuche ich später einmal, rein aus Interesse.
                Gruß Hoffi aus Radeberg

                Kommentar


                • #9
                  Da würde ich als erstes mal das DB-Design überprüfen. Berechenbare Werte haben in der DB nichts zu suchen. Du kannst den Datumsvergleich in jeder Abfrage direkt vornehmen, da brauchst du kein Flag dafür.
                  Gruss
                  H2O

                  Kommentar


                  • #10
                    $query = "UPDATE daten SET Wert = '$Wert' WHERE id = $id";
                    Was sagt:

                    echo $query;

                    Kommentar


                    • #11
                      Du kannst den Datumsvergleich in jeder Abfrage direkt vornehmen, da brauchst du kein Flag dafür
                      Richtig, das habe ich nun auch über eine "function" gelöst.
                      echo $query;
                      Werde ich mal ausprobieren.

                      Gruß, Hoffi
                      Gruß Hoffi aus Radeberg

                      Kommentar


                      • #12
                        Werde ich mal ausprobieren.
                        OffTopic:
                        Selten ein Problem so langsam gelöst, wie dieses hier...

                        Kommentar

                        Lädt...
                        X