Zahlenwert aus einer Datenbank reduzieren und ersetzen

Zimtgruen

Erfahrenes Mitglied
Also ich hab eine Tabelle in einer Datenbank, in der ein Zahlenwert gespeichert ist, meinetwegen 5000, jetzt hab ich über ein Formular einen weiteren Zahlenwert bekommen, der von den 5000 abgezogen werden soll und der neue Wert soll dann statt den 5000 in der datenbank stehen. Das Abziehen an sich ist ja kein Problem, nur ich find irgendwie grad nicht raus wie ich an diese 5000 rankomme.
Versteht ihr was ich meine und kann mir da einer helfen?
 
PHP:
$sql="UPDATE tabelle SET zahlenwert=zahlenwert-". mysql_escape_string($_POST['neuerzahlenwert']) .";

Das escapen nicht vergessen :D
*klug!* :p
 
Das escapen nicht vergessen :D
*klug!* :p

Wenn, dann [phpf]mysql_real_escape_string[/phpf], wobei das bei Zahlen Blödsinn ist, da nimmt man [phpf]intval[/phpf] oder [phpf]floatval[/phpf], je nachdem. Oder man überprüft vorher, ob eine Zahl übergeben wurde und lehnt die Eingabe bei ungültigem Wert ganz ab. Ich würde im konkreten Fall letzteres bevorzugen.

LG
 
hmm jetzt hab ich einen fehler, von dem ich nich weiß, wo ich ihn suchen soll

mein code:
PHP:
<?php
$verbindung = mysql_connect("localhost",
"benutzername","passwort")
or die ("keine Verbindung möglich.
 Benutzername oder Passwort sind falsch");

mysql_select_db("datenbank")
or die ("Die Datenbank existiert nicht.");

$id = $_POST["id"];
$mid = $_POST["mid"];
$behandlung = $_POST["behandlung"];
$kommentar = $_POST["kommentar"];
$kosten = $_POST["kosten"];




$eintrag = "INSERT INTO Tabelle1 WHERE ID=$id
(Kommentar, Behandlung, Datum)

VALUES
('$kommentar', '$behandlung', CURDATE())";


$sql1="UPDATE Tabelle2 SET Datum=CURDATE(), plusminus='- $kosten', Verwendung='$behandlung', Stand=Stand-'$kosten' WHERE MID=$mid";

$sql2="UPDATE Tabelle2 SET Datum=CURDATE(), plusminus='+ $kosten', Verwendung='$behandlung', Stand=Stand+'$kosten' WHERE MID='0'";


$eintragen = mysql_query($eintrag);

if($eintragen == true)
   {
   echo "Behandlung abgeschlossen";
   }
else
   {
   echo mysql_error() . "\n";
   }

$sql = mysql_query($sql2);

if($sql == true)
   {
   echo "Behandlung bezahlt";
   }
else
   {
   echo mysql_error() . "\n";
   }
mysql_close($verbindung);
?>


Der Fehler wird so angezeigt: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID=1 (Kommentar, Behandlung, Datum) VALUES ('lalala Behandlung bezahlt


?
 
Hi,

das kommt darauf an, was Du machen willst. Mit UPDATE änderst Du einen Datensatz, der schon vorhanden ist. Mit INSERT fügst Du einen neuen Datensatz ein.

LG
 
Zurück