Wie Zahl auf MYSQL wert addieren?
Ich rufe einen Wert aus meiner DB auf. Habe jetzt festgestellt, dass ich bei diesem wert 20 addieren müsste.. mit welchem Befehl kann ich 20 auf diesen wert addieren in PhP?
3 Antworten
Kannst du deine Frage bitte etwas verständlicher stellen? Wo genau willst du 20 addieren? In PHP wird es ja kaum sein, da das ja nun die absoluten Basics sind:
$wert = $wert + 20;
// oder
$wert += 20;
Wenn du den Wert in der Datenbank für einen oder mehrere Datensätze ändern willst, dann geht das in etwa so:
UPDATE tabelle SET wert=wert+20 WHERE id=42
Ohne weitere Informationen kann man hier aber nur raten.
+20 ...!? o_O
Warum willst du das mit SQL machen?
Les die kacke aus, dann machst du das ausgelesene +20???
$read = ...
$read += 20;
und updaten
Sehr selten aber stimmt natürlich! Mehr Informationen hatte ich auch nicht erhalten
Es gibt auch triviale Beispiele, wo es schon häufiger vorkommt wie bspw. einen Counter auf der Webseite. Wenn der Counter dort so erhöht wird:
"SELECT `hits` FROM tb_counter WHERE `date`=NOW()"
// hier mit PHP $hits += 1;
"UPDATE tb_counter SET `hits`=$hits WHERE `date`=NOW()"
… wird es bei gut besuchten Webseiten täglich dazu kommen, dass sich die Requests überschneiden und insgesammt etwas weniger Zugriffe gezählt werden.
Hier muss man sehr aufpassen, da solche Fehler später schwer zu lokalisieren sind und oft unbemerkt bleiben.
Es scheint mir, als hättest du damit schon schmerzhafte Erfahrungen gemacht :D
Ja, in den Fehler bin ich natürlich auch schon getappt. Da sucht man sich den Wolf, bis man so einen Fehler findet.
Genau das sollte man aber vermeiden, da es fehleranfällig ist. Zwischen dem SELECT zum Abfragen der Daten und dem UPDATE mit den geänderten Daten kann nämlich eine parallel ablaufende Sitzung die Daten schon wieder ändern.
Dann kann es passieren, dass bspw. in einem Buchungssystem das Script im SELECT noch freie Plätze ermittelt und die Buchung auslöst, zwischenzeitlich aber eine andere Buchung die Plätze ebenfalls abfragt und es dann zu einer Überbuchung kommt. Das ist eine beliebte Fehlerquelle, die zwar nur selten auftritt aber dann zu argen Problem führt.
Das alles ist meist vermeidbar.