Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python View函数未返回响应_Python_Sql_Flask - Fatal编程技术网

Python View函数未返回响应

Python View函数未返回响应,python,sql,flask,Python,Sql,Flask,我想向mysql发送一个查询并获取一个数组。但不管我怎么做,我都不能让它工作。这是我的密码: @app.route('/auth',methods=['GET','POST']) def auth(): username = request.form['username'] password = request.form['password'] cur = db.cursor() cur.execute("SELECT * FROM tbl_user WHE

我想向mysql发送一个查询并获取一个数组。但不管我怎么做,我都不能让它工作。这是我的密码:

@app.route('/auth',methods=['GET','POST'])
def auth(): 
    username = request.form['username']
    password = request.form['password']

    cur = db.cursor() 
    cur.execute("SELECT * FROM tbl_user WHERE username = '%s' " % username)

    results = cur.fetchall()

    for row in results:
        print row[0]

它总是说,
查看函数没有返回响应。我做错了什么?

Flask抛出此异常,因为您的
auth
视图没有返回任何内容。从
auth
视图返回响应:

return 'Some response'
要返回MySQL结果,可以将行合并为一个字符串:

cur.execute("SELECT * FROM tbl_user WHERE username = '%s' " % username)
return '\n'.join([', '.join(r) for r in cur])
或者定义一个模板和

请注意,您确实不希望对
username
参数使用字符串插值,尤其是在web应用程序中。请改用SQL参数:

cur.execute("SELECT * FROM tbl_user WHERE username = %s", (username,))
现在,数据库客户端将为您进行报价,并防止SQL注入攻击。如果使用字符串插值


(如果这是一个像样的数据库(例如,不是MySQL),数据库可以使用现在通用的SQL语句并为其创建一个查询计划,然后在多次执行该查询时反复使用该计划;使用字符串插值可以防止这种情况发生。)

1)修复您发布的代码中的缩进,2)在数据库中运行相同的查询,看看会说些什么请给我们完整的回溯,以及您使用的web框架。@MartijnPieters我尝试一下Flask和MySQL:)@JonClements:if
view
指的是
auth
方法…我使用Flask,你是对的,我应该删除它method@Gandalf你似乎还不熟悉这一点-我建议你使用ORM-这将使生活更轻松-阅读一下是的,我是python初学者,我会接受你的建议,谢谢:)确实如此!我希望这里有一些小Bobby表。我仍然可以解决我的问题。我想做的是,将post数据与数据库中的行进行比较。因此,我应该使用给定的用户名发送一个查询,并获得结果,而不是比较密码。但无法对sql结果执行任何操作。有人可以吗help@Gandalf当前位置我们正在步入“太广阔”的领域。您需要找到一个关于Python和SQL查询的好教程。