[PHP/MySQL] Problem mit Insertbefehl

PHP:
$time = time();
$i = 0;
$sumoffen = 0;
$res = mysql_query("SELECT id,guthaben,pop_verg FROM user WHERE pop_verg >= '0.010'")or die(mysql_error());
while ($data = mysql_fetch_array($res))
		{
		$i = $i++;
		$userid = $data["id"];
		$guthaben = $data["guthaben"];
		$pop_verg = $data["pop_verg"];
		$zahl = $pop_verg*100;
		$zahl = floor($zahl);
		$betrag = $zahl/100;
		$abs = "Admin";
		$betreff = "Tägliche Umbuchung der Loginvergütung";

		mysql_query("UPDATE user SET guthaben = guthaben + '$betrag', pop_verg = pop_verg-'$betrag' WHERE id = '$userid'");
		mysql_query("INSERT INTO kontoauszug (id, betrag, user, betreff, time) VALUES ('$userid','$betrag','$abs','$betreff','$time')")or die(mysql_error());
		$sumoffen = $sumoffen+$betrag;
        }

        mysql_query("INSERT INTO `konten` (`100`) VALUES ('".$sumoffen."')") or die (mysql_error());

        echo"Umbuchung abgeschloßen($i Umbuchungen - Gesamtbetrag: $sumoffen )";


mmh meintest du nicht

PHP:
while ($data = mysql_fetch_assoc($res))



PS: soll ich dir eine Funktion geben, die dir ermöglicht einen Array mittels INSERT und UPDATE in die DB einzufügen?
sowas wie
$arrayToInsert['name']="foo";
mysql_insert("table1",$arrayToInsert); //füge in Feld "name" Wert "foo" ein
 
Die Felder pop_verg und guthaben sind vom Typ INT oder FLOAT?

Hast du schon mal probiert, korrekt zu addieren:
PHP:
UPDATE user SET guthaben = guthaben + " . $betrag . ", pop_verg = pop_verg - " . $betrag . " WHERE id = $userid"

statt diesem Mist:
PHP:
UPDATE user SET guthaben = guthaben + '$betrag', pop_verg = pop_verg-'$betrag' WHERE id = '$userid'"

Sowas mag vielleicht in PHP funktionieren, aber MySQL ist da etwas kritischer.

Greetz

paddya
 
Nur der Vollständigkeit halber:
Das mag vielleicht in PHP funktionieren, aber MySQL ist da etwas kritischer.
Naja, das wird aber leider auch nicht zu Problemen führen:
Code:
SELECT 11 - '1' + '0.11' + ' 10'
Ergibt das korrekte Ergebnis 20,11. MySQL verzeiht einem da leider auch sehr viel.