我正在制作一个程序,它是一个小学教师设置的测验的用户界面。我正在尝试使用用户在上一页键入的数据进行此查询。它正在数据库中查找与相关用户名和测验编号匹配的人。这是为了让老师看到学生们在某些测验中的表现。
这是我的密码。dbDatabase = sqlite3.connect('c:\\xampp\\cgi-bin\\MakingATable.db')
cuDatabase = dbDatabase.cursor()
Fieldstorage = cgi.FieldStorage() #what you typed in on the webpage
Quizno = Fieldstorage.getvalue("quizno")
UserID = Fieldstorage.getvalue("username")
#print (Quizno)
#print (UserID)
cuDatabase.execute ("""
SELECT Result
FROM resultstable
WHERE QuizID = '""" + str(Quizno) + """
AND UserID = '""" + UserID + "'")
for (row) in cuDatabase:
print (row)
dbDatabase.commit()
cuDatabase.close()
以下是我运行网页时收到的错误消息:40 FROM resultstable
41 WHERE QuizID = '""" + str(Quizno) + """
=> 42 AND UserID = '""" + UserID + "'")
43
44 for (row) in cuDatabase:
AND undefined, UserID = 'HuPa1'
OperationalError: near "HuPa1": syntax error
args = ('near "HuPa1": syntax error',)
with_traceback =
我还应该使用OR而不是AND,这样,如果用户没有完成测试,它将显示用户所做的任何测试。或者说,如果很多人做了一个小测验,那么老师会看到每个人,例如,做了小测验1?