【问题标题】:how to check a username doesn't already exist in a table?如何检查表中不存在用户名?
【发布时间】:2020-01-05 04:43:17
【问题描述】:

我正在编写一个程序,该程序将用户输入作为用户名,然后查询数据库以检查用户名是否已被使用。这是我到目前为止提出的代码,但问题是它总是返回“无”作为对查询的响应,即使用户名确实存在于表中。

mycursor= mydb.cursor()
username=input('username')
checkUsername= mycursor.execute('SELECT username FROM users WHERE username = %(username)s', {'username' :username})
print (checkUsername)

【问题讨论】:

标签: python mysql database validation


【解决方案1】:

当您执行时,您只需告诉游标与数据库上的语句进行通信。它返回 None 但它的作用是让您的光标处于可以获取结果的状态。

mycursor = mydb.cursor()
username = input('username')
checkUsername = mycursor.execute('SELECT username FROM users WHERE username = %(username)s', {'username' :username})

row = cursor.fetchone()

username_exists = row is not None

【讨论】:

  • 注意:当您的查询可能返回多个结果时,您也可以使用fetchall() 而不是fetchone()。或fetchmany(size=50) 获取指定数量的结果(例如 50)。此处的类文档:dev.mysql.com/doc/connector-python/en/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-29
  • 1970-01-01
  • 1970-01-01
  • 2021-01-24
  • 2011-08-05
  • 2019-05-24
  • 1970-01-01
相关资源
最近更新 更多