尝试在SQLite Python上搜索列,以便它只返回搜索到的信息
Python和数据库的新特性 我有一个数据库表,其中有一列用户名。我希望用户能够通过原始输入在表中搜索,并且只返回与该用户名关联的值 例如,用户搜索账单,它只显示按指定列排序的账单记录 这是我到目前为止所知道的,但显然是非常错误的,希望有人能帮助我:尝试在SQLite Python上搜索列,以便它只返回搜索到的信息,python,database,sqlite,Python,Database,Sqlite,Python和数据库的新特性 我有一个数据库表,其中有一列用户名。我希望用户能够通过原始输入在表中搜索,并且只返回与该用户名关联的值 例如,用户搜索账单,它只显示按指定列排序的账单记录 这是我到目前为止所知道的,但显然是非常错误的,希望有人能帮助我: def find_me(db, column_name): db = sqlite3.connect(db) cursor = db.cursor() name = raw_input("Please enter your
def find_me(db, column_name):
db = sqlite3.connect(db)
cursor = db.cursor()
name = raw_input("Please enter your username: ")
cursor.execute("SELECT name FROM username WHERE name=?", (name,))
cursor.execute("SELECT * FROM username ORDER BY "+column_name+" ASC")
name = cursor.fetchone()
next = cursor.fetchone()
提前感谢您您希望进行类似于以下内容的查询:
cursor.execute("SELECT name FROM username WHERE name=?", (name,))
这使用了查询参数,因此对提供的数据进行了正确的转义。然后调整它以选择*以及您想要从结果中选择的任何内容
尝试使用以下方法:
name = raw_input("Please enter your username: ")
query = "SELECT * FROM username WHERE name=? ORDER BY {0}".format(column_name)
cursor.execute(query, (name,))
for row in cursor:
print row
这里出了什么问题?您想要什么?当用户搜索时,它似乎显示所有用户,而不仅仅是隔离他们搜索的名称(原始输入),并仅显示他们在表中的详细信息。我想要它,这样一个用户可以只搜索他们的信息的基础上名称输入汉克回来给我,我已经在你说的部分,但它仍然不起作用。我编辑了上面的代码,所以你能正确地检查它的输入吗?我只做了几天数据库,所以我只是开始掌握它。谢谢again@user1847644稍微更新,以显示一个简单的循环结果示例…这似乎可行,但它仅显示一个用户输入。知道为什么吗?忽略最后的评论。真管用!!。非常感谢,这已经困扰我太久了!