2017-04-14 95 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 + “\””

相关问题