SQLite 错误没有这样的列 Python
SQLite ERROR no such column Python
我有一个问题,我正在尝试通过比较 python 和 SQLite 中的 rowid 在用户名和用户名电子邮件之间进行验证,代码如下:
username = self.txtUsername.GetValue()
email = self.txtEmail.GetValue()
UsernameE = self.conn.execute("SELECT rowid,* FROM tblPlayers WHERE p_Username="
+ username)
EmailU = self.conn.execute("SELECT rowid,* FROM tblPlayers WHERE p_Email=" + email)
错误是:
> UsernameE = self.conn.execute("SELECT rowid,* FROM tblPlayers WHERE p_Username="
+ username)
sqlite3.OperationalError: no such column: "what i inserted in the username"
您的 SQL 格式错误,因为您没有在用户名值后关闭引号。但是你不应该那样做:你应该使用参数:
self.conn.execute("SELECT rowid,* FROM tblPlayers WHERE p_Username=? ", (username,))
另请注意,execute 没有 return 值:您需要获取它,例如使用 fetchone()
.
尝试为用户名添加引号:
UsernameE = self.conn.execute("SELECT rowid,* FROM tblPlayers WHERE p_Username = '" + username + "'")
我有一个问题,我正在尝试通过比较 python 和 SQLite 中的 rowid 在用户名和用户名电子邮件之间进行验证,代码如下:
username = self.txtUsername.GetValue()
email = self.txtEmail.GetValue()
UsernameE = self.conn.execute("SELECT rowid,* FROM tblPlayers WHERE p_Username="
+ username)
EmailU = self.conn.execute("SELECT rowid,* FROM tblPlayers WHERE p_Email=" + email)
错误是:
> UsernameE = self.conn.execute("SELECT rowid,* FROM tblPlayers WHERE p_Username="
+ username)
sqlite3.OperationalError: no such column: "what i inserted in the username"
您的 SQL 格式错误,因为您没有在用户名值后关闭引号。但是你不应该那样做:你应该使用参数:
self.conn.execute("SELECT rowid,* FROM tblPlayers WHERE p_Username=? ", (username,))
另请注意,execute 没有 return 值:您需要获取它,例如使用 fetchone()
.
尝试为用户名添加引号:
UsernameE = self.conn.execute("SELECT rowid,* FROM tblPlayers WHERE p_Username = '" + username + "'")