[PHP & MySQL] Update Probleme, Erledigt

kjomi
Ich bin momentan dabei einen Hof aufzubauen, doch das Script zum Kauf vom Futter funktioniert nicht richtig.
Ich habe zwei Codes, einmal futterkauf und buyfutter (Formular und Aktion).

futterkauf.php
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
<?php

include("datenbank.php");
$id "$_GET[id]";

$Ergebnis mysql_query"SELECT * FROM user WHERE Username='$Username' AND Geld > 0");
if (@mysql_num_rows($Ergebnis) == 0) {
echo "Du besitzt kein Geld!";
}

else {
$Data mysql_fetch_array$Ergebnis );

echo "

Willst du das Futter wirklich kaufen? 
<br><form action="buyfutter.php?id=$Data[ID]" method="post">
<input type="text" name="Anzahl" value="Wie viel Futter willst du kaufen?">
<input type="submit" value="Ja">
</form> 
"; }
?>

buyfutter.php
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
<?php
$Futterpreis="5";
$Anzahl $_POST["Anzahl"];
$id $_GET["id"];
include("datenbank.php");


$Ergebnis mysql_query"SELECT * FROM user where Username='$Username'");
if (@mysql_num_rows($Ergebnis) == 0)
{
echo "Interner Fehler.";
}
else
{
$aendern_Geld "UPDATE user SET Geld = '$Geld' - '$Futterpreis' * '$Anzahl' WHERE Username = '$Username'";
$update_Geld mysql_query($aendern_Geld);

$aendern_Futter "UPDATE user SET Futter = '$Futter' + '$Anzahl' WHERE Username = '$Username'";
$update_Futter mysql_query($aendern_Futter);

echo"Das gewünschte Futter wurde dir gutgeschrieben.";
}
?>

Es wird ausgegeben "Das gewünschte Futter wurde dir gutgeschrieben." und danach habe ich auch das gewünschte Futter. Doch das Geld danach ist immer im Minusbereich. Z.B. wenn ich 1000v€ habe und dann 5 mal Futter kaufen will, habe ich im Endeffekt -25v€.

Kann mir vielleicht jemand helfen?

lg
kjomi
Nein, das ist nicht das Problem. Das Geld wird nicht vom Geldzustand vorher abgezogen, sondern von 0.
Stelo
php:
1:
$aendern_Geld "UPDATE user SET Geld = '$Geld' - '$Futterpreis' * '$Anzahl' WHERE Username = '$Username'";

So weit ich das sehe, hast du $Geld doch nie definiert. Du meinst mit "$Geld" doch sicher die Spalte "Geld" in der Tabelle der DB, oder? Augenzwinkern

Dann nimm einfach die Hochkommas und das Dollarzeichen weg, dann müsste es funktionieren, denke ich. smile

Und damit wir, falls das nicht funktionieren sollte, und wir den Fehler erkennen können, kannst du ja mal hinter mysql_query() noch "OR die(mysql_error());" einfügen! Augenzwinkern
kjomi
Ich habe jetzt das '$' weggelassen und es funktioniert. Danke Zunge raus