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’
JavaScript
x
16
16
1
def forget_password_window(self):
2
if self.Mail_address.get()=="":
3
messagebox.showerror("Erreur", "Veuillez rentrer une adresse mail valide.", parent=self.app)
4
else:
5
try:
6
mydb = mysql.connector.connect(
7
host = "localhost",
8
user = "username",
9
password = "pwd",
10
auth_plugin='mysql_native_password',
11
database = "mydb"
12
)
13
cursor = mydb.cursor()
14
cursor.execute("""SELECT * FROM Employee WHERE employee_address=%s """,(self.Mail_address.get()))
15
row = cursor.fetchone()
16
I made this code above in my code :
JavaScript
1
16
16
1
def connexion(self):
2
if self.Mail_address.get()=="" or self.Password.get()=="":
3
messagebox.showerror("Erreur", "Veuillez saisir l'adresse mail et le mot de passe !", parent=self.app)
4
else :
5
try:
6
mydb = mysql.connector.connect(
7
host = "localhost",
8
user = "username",
9
password = "pwd",
10
auth_plugin='mysql_native_password',
11
database = "mydb"
12
)
13
cursor = mydb.cursor()
14
cursor.execute("""SELECT * from Employee WHERE employee_address=%s and employee_matricule=%s""",(self.Mail_address.get(), self.Password.get()))
15
row = cursor.fetchone()
16
This code is working. So idk why this code is working and the first one is not. NEED HELP ! THX !
Advertisement
Answer
The MySQL connector needs at least a list of 2 dimensions as parameter
So change your code to
JavaScript
1
16
16
1
def forget_password_window(self):
2
if self.Mail_address.get()=="":
3
messagebox.showerror("Erreur", "Veuillez rentrer une adresse mail valide.", parent=self.app)
4
else:
5
try:
6
mydb = mysql.connector.connect(
7
host = "localhost",
8
user = "username",
9
password = "pwd",
10
auth_plugin='mysql_native_password',
11
database = "mydb"
12
)
13
cursor = mydb.cursor()
14
cursor.execute("""SELECT * FROM Employee WHERE employee_address=%s """,(self.Mail_address.get(),))
15
row = cursor.fetchone()
16