2017-05-14 5 views
-2

Ich erhalte einen Syntaxfehler in meinem Code:Ungültige Syntax CS50 Finanzen

if request.method == "POST": 
    quote = lookup(session["symbol"]) 
    name = quote["name"] 
    price = float(quote["price"]) 

    amount = db.execute("SELECT cash FROM users WHERE id=:user_id", user_id = session["user_id"]) 
    amount = float(amount[0]["cash"]) 

    if (int(request.form.get("number")) * price) >= amount: 
     return apology("You do not have enough money.") 

    new_amount = db.execute("UPDATE users SET cash = cash +: cost WHERE id =: user_id", user_id = session["user_id"], cost = quote["price"] * int(request.form.get("number")) 
    db.execute("INSERT into history (userID, stockSymbol, stockName, price, amount, buySell) VALUES (:userID, :stockSymbol, :stockName, :price, :amount, 1)", userID = session["user_id"], stockSymbol = session["symbol"], stockName = name, price = quote["price"] * int(request.form.get("number"), amount = int(request.form.get("number"))) 

    return redirect("") 

else: 
    return render_template("buy.html") 

Click here to see my database

Dies ist, wo der Syntaxfehler auftritt:

db.execute("INSERT into history (userID, stockSymbol, stockName, price, amount, buySell) VALUES (:userID, :stockSymbol, :stockName, :price, :amount, 1)", userID = session["user_id"], stockSymbol = session["symbol"], stockName = name, price = quote["price"] * int(request.form.get("number"), amount = int(request.form.get("number")))

Könnte jemand erklären, ein möglicher Grund warum?

+0

ich könnte, aber ich bin immer noch salzig, weil ich das letzte Mal beantwortete eine Frage von Ihnen (auch ein trivialer Fehler) Sie haben es gerade gelöscht. – melpomene

+1

Wenn jemand das Problem nicht bald bemerkt, ist der schnellste Weg, um den Code zum Laufen zu bringen, der Versuch, ihn mit einem Parameter zu testen und die anderen nacheinander hinzuzufügen, bis das Problem auftaucht. –

Antwort

2

Sie vermissen die rechte Klammer auf diesem Stück Code quote["price"] * int(request.form.get("number"))

Ihr zweiter Fehler ist auch ein Fehlschlag der rechten Klammer auf dieser Linie db.execute("UPDATE users SET cash = cash +: cost WHERE id =: user_id", user_id = session["user_id"], cost = quote["price"] * int(request.form.get("number")))

+3

Ich hoffe, dass Sie die Frage nicht löschen werden. –

+0

Nein, nein, ich werde es nicht löschen. Das hilft, aber es gibt mir immer noch einen ungültigen Syntaxfehler. Ich habe es letztes Mal aus anderen Gründen gelöscht. – Emikko29

+0

wäre es besser, wenn Sie Ihren Beitrag aktualisieren und den neuen Fehler anzeigen. –