I dont know what I done wrong, but the error is : error 1064 (42000) : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%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()
I made this code above in my code :
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()
This code is working. So idk why this code is working and the first one is not. NEED HELP ! THX !
CodePudding user response:
the mysql connector needs at least a list of 2 dimensions as parameter
So change your code to
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()