Klappt nicht hieß, er übernimmt einfach nicht die Änderungen die ich in einem jeweiligen Formular eingetragen habe in die Datenbank.
Selbst dafür gibt es noch genügend "Fehler"-Varianten, aber meine allwissende Glaskugel hat heute keine Lust mehr.
Wie wär's damit:
- gewährleiste durch Kontrollausgaben, dass dein Script den entsprechenden Code auch wirklich ausführt (z.b. innerhalb von if($_POST['submit']) ein echo "<h3>hello, here I am</h3>"
- zwischen-speichere das SQL Statement für das Update in eine variable
- gib die Variable in einer Kontrollausgabe (echo) aus
- überzeuge dich von der syntaktischen Korrektheit des SQLs
- probiere selbiges (Copy & Paste lässt grüssen) z.b. in PHPMyAdmin aus und schau was passiert und überzeue dich von der semantischen Korrektheit
- behebe die Fehler
- probiere das ganze nochmal
- wenn du den Fehler nicht finden kannst, poste folgende Sachen hier
- Tabellenstruktur
- (alle) Daten in der Tabelle vor dem Update-Versuch
- das _genaue_ SQL Statement, welches an die DB geschickt wurde
- (alle) Daten in der Tabelle nach dem Update-Versuch
Stand jetzt ist aber, dass er die erste ID in der DB (welche mit 1 beginnt) mit einer 0 = NULL überschreibt.
Da ist schonmal mindestens ein grober Fehler drin, ID sollte eindeutig und unveränderlich sein, NULL sollte nicht erlaubt sein.
UPDATE garant SET handwerker = 'abc', einheit = 'def', id = ''
tut genau was?
- gar nichts
- gibt einen Fehler / Ausnahme
- setzt alle 100000 Records in der Tabelle auf exakt dieselben Werte 'abc', 'def' und '' (und wenn ja, warum?)
Ciao, Frank