Oct-09-2021, 07:35 AM
Hi all I am getting this error" Not all parameters were used in the SQL statement" when I try to insert values in mysql database through a Tkinter GUI. Can somebody help. here is my code
import tkinter as tk from tkinter import* import mysql.connector from tkinter import messagebox mydb= mysql.connector.connect(host="localhost",user="root", password="mudit",database="Clinicmaster",auth_plugin="mysql_native_password") cursor=mydb.cursor() def clinic(): clinic_id=ent1.get() clinic_name=ent2.get() clinic_address=ent3.get() clinic_city=ent4.get() clinic_state=ent5.get() clinic_phone=ent6.get() clinic_email=ent7.get() clinic_website=ent8.get() sql=("INSERT INTO dentalclinic(clinic_id,clinic_name,clinic_address,clinic_city,clinic_state,clinic_phone,clinic_email,clinic_website)" "VALUES(%s,%s,s%,s%,%s,%s,s%,s%)" ) cursor.execute(sql,(clinic_id,clinic_name,clinic_address,clinic_city,clinic_state,clinic_phone,clinic_email,clinic_website)) mydb.commit() messagebox.showinfo("Confirmation","Clinic Added") print("DONE") return True cursor.execute('select count(*) from dentalclinic') next_num = cursor.fetchall()[0][0] win=Tk() win.title("ADD Clinic") win.geometry("500x600") win.configure(background='light blue') win.resizable(False,False) #frm1=Frame(win,bg="light blue") #frm1.pack(side=tk.LEFT,padx=20) var1=StringVar() clinic_id=StringVar() var2=StringVar() clinic_name=StringVar() var3=StringVar() clinic_address=StringVar() var4=StringVar() clinic_city=StringVar() var5=StringVar() clinic_state=StringVar() var6=StringVar() clinic_phone=StringVar() var7=StringVar() clinic_email=StringVar() var8=StringVar() clinic_website=StringVar() ##cursor.execute('select (clinic_name) from dentalclinic') ##cname=cursor.fetchall() #cname=StringVar() #cname.set(sql1) label= Label(win,text= "Clinic Details",font=('Helvetica 20 italic'),bg="light blue") label.grid(row=0,column=2,padx=10,pady=10) #var1['value']=c_name label1=Label(win,textvariable=var1,bg="light blue") var1.set("Clinic ID. ") label1.grid(row=2,column=1,padx=10,pady=10) ent1=Entry(win,textvariable=clinic_id,width=10) clinic_id.set(next_num+1) ent1.grid(row=2,column=2,sticky=tk.W,padx=10,pady=10) label2=Label(win,textvariable=var2,bg="light blue") var2.set("Clinic Name") label2.grid(row=3,column=1,padx=10,pady=10) ent2=Entry(win,textvariable=clinic_name,width=40) clinic_name.set(" ") ent2.grid(row=3,column=2,padx=10,pady=10) label3=Label(win,textvariable=var3,bg="light blue") var3.set("Address") label3.grid(row=4,column=1,padx=10,pady=10) ent3=Entry(win,textvariable=clinic_address,width=40) clinic_address.set(" ") ent3.grid(row=4,column=2,padx=10,pady=10) label4=Label(win,textvariable=var4,bg="light blue") var4.set("City") label4.grid(row=5,column=1,padx=10,pady=10) ent4=Entry(win,textvariable=clinic_city,width=40) clinic_city.set(" ") ent4.grid(row=5,column=2,padx=10,pady=10) label5=Label(win,textvariable=var5,bg="light blue") var5.set("State") label5.grid(row=6,column=1,padx=10,pady=10) ent5=Entry(win,textvariable=clinic_state,width=40) clinic_state.set(" ") ent5.grid(row=6,column=2,padx=10,pady=10) label6=Label(win,textvariable=var6,bg="light blue") var6.set("Phone No.") label6.grid(row=7,column=1,padx=10,pady=10) ent6=Entry(win,textvariable=clinic_phone,width=40) clinic_phone.set(" ") ent6.grid(row=7,column=2,padx=10,pady=10) label7=Label(win,textvariable=var7,bg="light blue") var7.set("Email") label7.grid(row=8,column=1,padx=10,pady=10) ent7=Entry(win,textvariable=clinic_email,width=40) clinic_email.set(" ") ent7.grid(row=8,column=2,padx=10,pady=10) label8=Label(win,textvariable=var8,bg="light blue") var8.set("Website") label8.grid(row=9,column=1,padx=10,pady=10) ent8=Entry(win,textvariable=clinic_website,width=40) clinic_website.set(" ") ent8.grid(row=9,column=2,padx=10,pady=10) ##def clear_text(): ## workrequired.set(' ') ## cursor.execute('select count(*) from workrequired') ## next_num = cursor.fetchall()[0][0] ## srno.set(next_num+1) btn=Button(win, text="ADD",command= lambda:[clinic(), clear_text()]) btn.grid(row=10,column=2,padx=10,pady=10) win.mainloop()The error message
Output:Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:43:08) [MSC v.1926 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
== RESTART: C:\Users\INDIAN\Desktop\python exercises\order form\add clinic.py ==
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\INDIAN\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "C:\Users\INDIAN\Desktop\python exercises\order form\add clinic.py", line 141, in <lambda>
btn=Button(win, text="ADD",command= lambda:[clinic(), clear_text()])
File "C:\Users\INDIAN\Desktop\python exercises\order form\add clinic.py", line 21, in clinic
cursor.execute(sql,(clinic_id,clinic_name,clinic_address,clinic_city,clinic_state,clinic_phone,clinic_email,clinic_website))
File "C:\Users\INDIAN\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mysql\connector\cursor.py", line 559, in execute
raise errors.ProgrammingError(
mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement