+ und - in MySQL

  • Ich stehe vor einem kleinen Problem. Ich habe eine einfach Matheaufgabe gerechnet in PHP und will sie dann in die Tabelle eintragen.

    Ich will also dem User der angemeldet ist, den Betrag abziehen und dem ausgewählten User(über die Rangliste ausgewählt und Name über GET geholt) gutschreiben.

    Hab auch einen netten Code dazu geschrieben, bloss zieht er den Betrag nur dem angemeldeten User ab und schreibt den Betrag nicht dem augewählten User gut.

    Hier der Code:

    Hab die zwei Summen auch schon mit echo ausgegeben und die Werte stimmen auch.

    Er setzt bloss den "+" Betrag nicht..

    mysql_error() hat auch nichts gezeigt

    [SIGPIC][/SIGPIC]

    Einmal editiert, zuletzt von .Shanii (23. März 2010 um 09:19)

  • Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

    mysql_error auch noch einbauen!

    Warum soll ich nicht SELECT * schreiben?
    http://www.php-faq.de/q-sql-select.html

  • Erstmal danke für die Antwort.. werde ich sofort machen..

    und zu "SELECT *" ..brauch ich aber, da ich alle Spalten brauche.

    Das Script ist noch nicht fertig..

    EDIT: Es hängt daran, dass der Name nicht richtig übergebn wird:

    Frage: Wie kann ich einen Befehl schreiben der sagt, dass wenn der Sender, von dem der Betrag abgezogen = 0 hat, die Transaktion nicht funktioniert.

    sowas wie: if($wert != "0") dann mache Transaktion

    aber wie ist der Befehl richtig, weil wenn ich z.b noch als Wert 10 habe und 20 verschicke, hätte ich ja -10..

    [SIGPIC][/SIGPIC]

    Einmal editiert, zuletzt von .Shanii (23. März 2010 um 10:18)