Python Web应用程序的问题
我正在创建一个MA trails的web应用程序。我希望能够单击一条轨迹的名称,并显示其信息。我有一张叫做“徒步旅行”的桌子,有10列。现在,当我单击轨迹的名称时,页面上显示的唯一内容是(),只有两个括号,没有其他内容。我试图效仿一位教授给我的一个例子,但似乎我做错了什么,但我真的不知道是什么 任何帮助都将不胜感激Python Web应用程序的问题,python,mysql,web-applications,Python,Mysql,Web Applications,我正在创建一个MA trails的web应用程序。我希望能够单击一条轨迹的名称,并显示其信息。我有一张叫做“徒步旅行”的桌子,有10列。现在,当我单击轨迹的名称时,页面上显示的唯一内容是(),只有两个括号,没有其他内容。我试图效仿一位教授给我的一个例子,但似乎我做错了什么,但我真的不知道是什么 任何帮助都将不胜感激 def getHikeInfo(name): # connect to db conn, cursor = getConnectionAndCursor() # prepar
def getHikeInfo(name):
# connect to db
conn, cursor = getConnectionAndCursor()
# prepare SQL
sql = """
SELECT *
FROM hiking
WHERE name = %s
"""
# run the SQL
cursor.execute(sql, name)
# fetch the results
data = cursor.fetchall()
# clean up
cursor.close()
conn.close()
return data
################################################################################
if __name__ == "__main__":
form = cgi.FieldStorage()
if "name" in form:
name=form['name'].value
print getHikeInfo(name)
据我所知,您需要将
名称
查询参数放入元组:
cursor.execute(sql, (name, ))
如果只需要数据库中的一行,请使用fetchone()
:
据我所知,您需要将
名称
查询参数放入元组:
cursor.execute(sql, (name, ))
如果只需要数据库中的一行,请使用fetchone()
:
作为一个旁白,请查看Weston@Drew哈哈哈,行了!!您应该将if name写在表单中:不带双精度quotes@rocksteady我不认为这会有帮助,这在应用程序中产生了一个错误,但是谢谢!作为一个旁白,请查看Weston@Drew哈哈哈,行了!!您应该将if name写在表单中:不带双精度quotes@rocksteady我不认为这会有帮助,这在应用程序中产生了一个错误,但是谢谢!我尝试了你所说的,现在网页上没有显示(),而是显示“无”。@smoody我想这只是因为表中没有与名称匹配的记录。你能调试一下,看看
name
的值是多少吗?“name”是我在表中的一个列名。我调试了它,“name”的值是小径的名称(例如:key name=name,value=Wells State Park)。@smoody,你确定你在rapping
表中有这个名称吗?@smoody和一个快速检查,cursor.execute(sql,(name.strip(),)?我试了你说的,现在不是(),而是,网页上只显示“无”。@smoody我想只是表中没有与名称匹配的记录。你能调试一下,看看name
的值是多少吗?“name”是我在表中的一个列名。我调试了它,“name”的值是小径的名称(例如:key name=name,value=Wells State Park)。@smoody,你确定你在表中有这个名称吗?@smoody,快速检查一下,cursor.execute(sql,(name.strip(),)
?