小白教程

 找回密码
 立即注册
查看: 8961|回复: 3

[已解决]SQL语法错误

[复制链接]

1

主题

2

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2021-5-16 21:15:29 | 显示全部楼层 |阅读模式
我想检查是否已经存在用户名。如果是这样,将显示一个消息框,如果不是用户名和字段条目的其余部分将存储在数据库中。但是,当我尝试此功能时,它打印数据库无法连接。


最佳答案
2021-5-22 01:40:48
  1. def register(self):

  2.       if self.name.get() == "" or self.username.get() == "" or self.password.get() == "":
  3.           messagebox.showwarning("Alert", "All fields are required!")
  4.       elif len(self.username.get()) < 3 or len(self.username.get()) > 25:
  5.           messagebox.showwarning("Alert", "Username must be between 3 and 25 characters!")
  6.       elif len(self.password.get()) < 6 or len(self.password.get()) > 25:
  7.           messagebox.showwarning("Alert", "Password must be between 6 and 25 characters!")

  8.       else:
  9.           try:
  10.               db = mysql.connector.connect(
  11.                   host="localhost",
  12.                   username="dbuser01",
  13.                   password="computing",
  14.                   database="geography_quiz"
  15.               )

  16.               db_cursor = db.cursor()
  17.               db_cursor.execute("SELECT * FROM user_information WHERE Username=%s", self.username.get())
  18.               row = db_cursor.fetchone()
  19.               if row is not None:
  20.                   messagebox.showerror("Error", "Username already exists!")
  21.               else:
  22.                   db_cursor.execute("INSERT INTO user_information (Full_name, Username, Password) values(%s, %s, %s)",
  23.                                     (self.name.get(),
  24.                                      self.username.get(),
  25.                                      self.password.get()
  26.                                      ))
  27.                   db.commit()
  28.                   db.close()
  29.                   messagebox.showinfo("Registration Success!", "Welcome!")

  30.           except:
  31.               print("Cannot connect to database")
复制代码
回复

使用道具 举报

0

主题

3

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2021-5-19 21:55:48 | 显示全部楼层
这是GUI问题还是数据库问题?
请显示代码和反映错误的完整错误跟踪。
回复

使用道具 举报

0

主题

3

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2021-5-22 01:40:48 | 显示全部楼层 &
  1. def register(self):

  2.       if self.name.get() == "" or self.username.get() == "" or self.password.get() == "":
  3.           messagebox.showwarning("Alert", "All fields are required!")
  4.       elif len(self.username.get()) < 3 or len(self.username.get()) > 25:
  5.           messagebox.showwarning("Alert", "Username must be between 3 and 25 characters!")
  6.       elif len(self.password.get()) < 6 or len(self.password.get()) > 25:
  7.           messagebox.showwarning("Alert", "Password must be between 6 and 25 characters!")

  8.       else:
  9.           try:
  10.               db = mysql.connector.connect(
  11.                   host="localhost",
  12.                   username="dbuser01",
  13.                   password="computing",
  14.                   database="geography_quiz"
  15.               )

  16.               db_cursor = db.cursor()
  17.               db_cursor.execute("SELECT * FROM user_information WHERE Username=%s", self.username.get())
  18.               row = db_cursor.fetchone()
  19.               if row is not None:
  20.                   messagebox.showerror("Error", "Username already exists!")
  21.               else:
  22.                   db_cursor.execute("INSERT INTO user_information (Full_name, Username, Password) values(%s, %s, %s)",
  23.                                     (self.name.get(),
  24.                                      self.username.get(),
  25.                                      self.password.get()
  26.                                      ))
  27.                   db.commit()
  28.                   db.close()
  29.                   messagebox.showinfo("Registration Success!", "Welcome!")

  30.           except:
  31.               print("Cannot connect to database")
复制代码
回复

使用道具 举报

0

主题

3

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2021-5-31 14:41:02 | 显示全部楼层
输出:

无法连接到数据库
无法连接到数据库
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-9-20 12:23 , Processed in 0.055586 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表