2017-04-14 135 views
-1

我在做CS0問題集7 - CS50財務,他們使用瓶和SQLite。爲什麼我會得到空陣列?

當我嘗試訪問phpliteadmin上的stock_name =「s」時,我得到相應的行,但是當我嘗試通過代碼訪問時,我得到空數組[],而它應該輸出[{key:value等。 。}],請參閱#HERE行。

它有什麼問題?我怎樣才能訪問我的數據庫。

@app.route("/sell", methods=["GET", "POST"]) 
@login_required 
def sell(): 
"""Sell shares of stock.""" 

if request.method=="POST": 
    if not request.form.get("symbol"): 
     return apology("Symbol name cant be empty") 
    elif request.form.get("symbol"): 
     rows=db.execute('SELECT * FROM portfolios WHERE username=:username AND stock_name=:stock_name',username=session["user_id"],stock_name="s") 
     print(rows)#**HERE** 
     if rows==[]: 
      return apology("No such stock name") 
    elif not request.form.get("shares"): 
     return apology("Shares missing") 
    elif request.form.get("shares"): 
     try: 
      number_shares=int(float(request.form.get("shares"))) 
     except: 
      return apology("Invalid shares") 
    elif rows[0]["shares"]<request.form.get("shares"): 
     return apology("Sorry not enough shares") 
rows=db.execute('SELECT * FROM portfolios WHERE username=:username AND stock_name=:stock_name',username="u",stock_name="s") 
print(rows)     
return render_template("sell.html") 

回答

0

所以,我發現這是有關在Python字符串連接,所以我用+符號拼接這樣的: ** 「SELECT * FROM組合其中username =」 + usernameValue + 「\」」

相關問題