如何将id从flask app传递到mysql数据库

时间:2017-10-24 12:10:32

标签: python flask get flask-restful

我有一个连接到MySQL数据库的烧瓶应用程序。

  

请注意

     

数据库名称=评估

     

表名=评估

     

columns = eval_id,eval_name,date

我有一张评估表'使用字段eval_id,eval_name和日期。

 mysql> use evaluation;
    mysql> describe evaluation;
    +-----------+-------------+------+-----+---------+-------+
    | Field     | Type        | Null | Key | Default | Extra |
    +-----------+-------------+------+-----+---------+-------+
    | eval_id   | int(11)     | NO   | PRI | NULL    |       |
    | eval_name | varchar(20) | NO   |     | NULL    |       |
    | date      | datetime(6) | NO   |     | NULL    |       |
    +-----------+-------------+------+-----+---------+-------+

如何编写API以通过其ID获得特定评估? 我试过以下,但它没有用。

@app.route('/getEval/<int:eval_id>', methods=['GET'])
def getEvalByID(eval_id):
    cur.execute('''select * from evaluation.evaluation where eval_id=eval_id''')
    res = cur.fetchall()
    return jsonify({'test':str(res)})

如何更正此问题并根据app.route中提到的eval_id进行评估。

2 个答案:

答案 0 :(得分:1)

您需要将eval_id放置为String而不是VAR。

@app.route('/getEval/<int:eval_id>', methods=['GET'])
def getEvalByID(eval_id):
    cur.execute('select * from evaluation.evaluation where eval_id=' + str(eval_id))
    res = cur.fetchall()
    return jsonify({'test':str(res)})

答案 1 :(得分:0)

尝试使用cur.execute('select * from evaluation.evaluation where eval_id = {}'。format(eval_id))