python - Python 在数据库中查找特定值
问题描述
我正在创建一个 Web 应用程序登录页面,用户输入他们的登录信息,应用程序将获取他们的登录信息,将其与数据库中的内容进行比较,然后确定登录是否是注册用户。我开始做一个快速测试,看看我是否可以从数据库中获取值,但是我遇到的问题是,当我从我希望它找到的用户输入中输入特定值时,我不断得到一个错误说明该值需要是特定参数、行或元组。我正在使用 sql 服务器
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
try:
connect = pypyodbc.connect('Driver={SQL server};Server=localhost;Database=capstone;uid=;pwd=')
cursor = connect.cursor()
_username = str(request.form['username'])
cursor.execute("SELECT * FROM login WHERE username= (%s)", _username)
dataUser = cursor.fetchone()[1]
return(dataUser)
except Exception as e:
return (str(e))
解决方案
有几种方法可以做到这一点:
# using dictionary
values = {'username': _username, }
cursor.execute("SELECT * FROM login WHERE username=:username", values)
#using tuple:
values = (_username,)
cursor.execute("SELECT * FROM login WHERE username=? ", values)
# Using fetchone will return the object and not an array.
# No need for [1] in 'cursor.fetchone()[1]'
return cursor.fetchone()
推荐阅读
- ios - 应用程序崩溃 [FIRApp appWasConfiguredTwice:usingOptions:]
- mysql - 是否可以从局域网外的PC连接局域网内PC上的mysql服务器
- svelte - 在 Sapper 的导航中单击重新导航按钮时更新路线
- c# - BLE 扫描并从 pc 读取值,我该如何解决“未知数据”问题?
- javascript - 以特定方式保存数据
- php - PDFTron:用 Scandic 字母填写表格
- javascript - 如何将控制器端的字符串连接到自动填充表单?
- reactjs - 如何在这个 Reactjs 文件中使用数组之前获取图像的高度和宽度
- python - 在 HTML 页面中加载 Django 中的静态文件
- java - 将 AWT 鼠标侦听器更改为 Swing 鼠标侦听器