无法让我的参数在 SELECT WHERE 子句中工作 python
Can not get my parameter to work inside SELECT WHERE clause in python
所以我创建了一个函数,该函数将一个字符串作为参数,然后使用 select where 子句来获取该参数的值,但由于某种原因它不起作用。我试过 (ar), "ar", '%s'%ar
None 对我有用,请帮忙
def getLoc(ar):
cursor = conn.execute("SELECT location.name from area,location WHERE area.name = ***(ar)*** ")
get_locations_for_area("Columbia")
conn.close()
使用代码格式使您的问题更易于阅读!
我认为它的工作方式是:
def getLoc(ar):
cursor = conn.execute("SELECT location.name FROM area,location WHERE area.name = ?", (ar,))
这样做的目的是让问号对应conn.execute()
的第二个参数。基本上它是将变量作为查询的参数。
这就是您应该如何使用此语句
光标 = conn.execute("SELECT location.name from area,location WHERE area.name = %s" %ar)
这样做:
def getLoc(ar):
cursor = conn.execute("SELECT location.name from area,location WHERE area.name = ?", ar)
查看文档 https://docs.python.org/2/library/sqlite3.html,它告诉您为什么要使用“?”
所以我创建了一个函数,该函数将一个字符串作为参数,然后使用 select where 子句来获取该参数的值,但由于某种原因它不起作用。我试过 (ar), "ar", '%s'%ar None 对我有用,请帮忙
def getLoc(ar):
cursor = conn.execute("SELECT location.name from area,location WHERE area.name = ***(ar)*** ")
get_locations_for_area("Columbia")
conn.close()
使用代码格式使您的问题更易于阅读! 我认为它的工作方式是:
def getLoc(ar):
cursor = conn.execute("SELECT location.name FROM area,location WHERE area.name = ?", (ar,))
这样做的目的是让问号对应conn.execute()
的第二个参数。基本上它是将变量作为查询的参数。
这就是您应该如何使用此语句
光标 = conn.execute("SELECT location.name from area,location WHERE area.name = %s" %ar)
这样做:
def getLoc(ar):
cursor = conn.execute("SELECT location.name from area,location WHERE area.name = ?", ar)
查看文档 https://docs.python.org/2/library/sqlite3.html,它告诉您为什么要使用“?”