错误 1064 (42000) : 使用 %s 附近的 SQL 语法有错误
Posted
技术标签:
【中文标题】错误 1064 (42000) : 使用 %s 附近的 SQL 语法有错误【英文标题】:error 1064 (42000) : You have an error in your SQL syntax near to use %s 【发布时间】:2022-01-09 21:03:59 【问题描述】:我不知道我做错了什么,但错误是:错误 1064 (42000): 您的 SQL 语法有错误;检查手册 对应于您的 mysql 服务器版本,以便使用正确的语法 “%s”附近
def forget_password_window(self):
if self.Mail_address.get()=="":
messagebox.showerror("Erreur", "Veuillez rentrer une adresse mail valide.", parent=self.app)
else:
try:
mydb = mysql.connector.connect(
host = "localhost",
user = "username",
password = "pwd",
auth_plugin='mysql_native_password',
database = "mydb"
)
cursor = mydb.cursor()
cursor.execute("""SELECT * FROM Employee WHERE employee_address=%s """,(self.Mail_address.get()))
row = cursor.fetchone()
我在上面的代码中制作了这段代码:
def connexion(self):
if self.Mail_address.get()=="" or self.Password.get()=="":
messagebox.showerror("Erreur", "Veuillez saisir l'adresse mail et le mot de passe !", parent=self.app)
else :
try:
mydb = mysql.connector.connect(
host = "localhost",
user = "username",
password = "pwd",
auth_plugin='mysql_native_password',
database = "mydb"
)
cursor = mydb.cursor()
cursor.execute("""SELECT * from Employee WHERE employee_address=%s and employee_matricule=%s""",(self.Mail_address.get(), self.Password.get()))
row = cursor.fetchone()
此代码正在运行。 所以我知道为什么这段代码有效而第一个无效。 需要帮忙 !谢了!
【问题讨论】:
您似乎在存储未散列的密码。当它在网上上线时,Cybercreeps 会爱你的。见this, 【参考方案1】:MySQL 连接器至少需要一个二维列表作为参数
所以把你的代码改成
def forget_password_window(self):
if self.Mail_address.get()=="":
messagebox.showerror("Erreur", "Veuillez rentrer une adresse mail valide.", parent=self.app)
else:
try:
mydb = mysql.connector.connect(
host = "localhost",
user = "username",
password = "pwd",
auth_plugin='mysql_native_password',
database = "mydb"
)
cursor = mydb.cursor()
cursor.execute("""SELECT * FROM Employee WHERE employee_address=%s """,(self.Mail_address.get(),))
row = cursor.fetchone()
【讨论】:
好的,解决了我的问题!但是现在我有另一个问题这里是错误:对象没有属性'tk'但我认为这是另一个主题,我需要打开另一个票吗? 是的,你需要打开另一个问题,因为我看不到 tkinter 对象 我要等 90 分钟才能发帖以上是关于错误 1064 (42000) : 使用 %s 附近的 SQL 语法有错误的主要内容,如果未能解决你的问题,请参考以下文章
Cakephp SQLSTATE [42000]:语法错误或访问冲突:1064
为啥我是 laravel 抛出 SQLSTATE[42000]:语法错误或访问冲突:1064 错误
mysql - 使用关键字作为列名时出现错误 1064 (42000)
PHP:SQLSTATE [42000]:语法错误或访问冲突:1064
Illuminate\Database\QueryException:SQLSTATE[42000]:语法错误或访问冲突:1064