我有一个非常愚蠢的问题,我现在已经暂时不知所措了
##########CODE 1 (STATIC)##############
@app.route('/fromdb', methods=['GET'])
def printall():
data = g.db.execute("SELECT TeacherInfo.Name, TeacherInfo.PhoneNo, TeacherInfo.HourlyRate, SubjectTable.SubjectName, SubjectTable.Grade, SubjectTable.Syllabus FROM SubjectTable JOIN TeacherInfo on SubjectTable.TeacherID = TeacherInfo.TeacherID WHERE SubjectName = 'Comp'").fetchall()
print(data)
return jsonify(details=data)
##########END CODE1###################
##########CODE 2(DYNAMIC)#############
@app.route('/fromdb', methods=['GET'])
def printall():
x = request.json
p = x['SubjectName']
data = g.db.execute("SELECT TeacherInfo.Name, TeacherInfo.PhoneNo, TeacherInfo.HourlyRate, SubjectTable.SubjectName, SubjectTable.Grade, SubjectTable.Syllabus FROM SubjectTable JOIN TeacherInfo on SubjectTable.TeacherID = TeacherInfo.TeacherID WHERE SubjectName = ?", p).fetchall()
print(data)
return jsonify(details=data)
##########END CODE2###################
在上面的链接中,有两个代码 代码1工作得很好,我专注于' WHERE SubjectName =' Comp''和WHERE SubjectName =?这里
我将主题名称硬编码到查询中,然后我得到一个带有查询结果的JSON对象
现在,在代码2中,变量' p'包含主题名称,我可以检索并打印它。但是查询不起作用,我收到了500错误,而且我不确定如何将其作为查询中的参数传递。
有人可以帮我解决这个问题吗?