tkinter使用MySQL存数据_我无法从tkinter表单向mysql插入数据

本文档描述了一个Python tkinter应用尝试将用户输入的数据插入到MySQL数据库时遇到的问题。作者展示了应用的代码,包括数据库连接和表单数据获取,并分享了控制台显示的错误信息,该错误提示SQL语法错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我能很好地连接到我的数据库,总线,不知怎么的,我把它的书写部分搞砸了。

这是我的代码:

from tkinter import *

from tkinter import messagebox

import mysql.connector

from mysql.connector import MySQLConnection, Error

db = mysql.connector.connect(

host="localhost",

user="root",

passwd="oliver1989",

database="pruebas_mysql"

)

def insert_newuser():

cursor = db.cursor()

add_usuario = """INSERT INTO reg_us(nombre, paterno, materno, usuario, contra)"

"VALUES(%s, %s, %s, %s, %s)"""% (new_nombre.get(), new_paterno.get(), new_materno.get(), new_usuario.get(), new_contraseña.get())

#data_registro = (new_nombre.get(), new_paterno.get(), new_materno.get(), new_usuario.get(), new_contraseña.get())

cursor.execute(add_usuario)

db.commit()

def registro_usuario():

screen1=Toplevel(screen)

screen1.geometry("280x400")

screen1.config(bg="#5EC659")

screen.title("Registro")

global new_nombre

new_nombre=StringVar()

global new_paterno

new_paterno=StringVar()

global new_materno

new_materno=StringVar()

global new_usuario

new_usuario=StringVar()

global new_contraseña

new_contraseña=StringVar()

global con_contraseña

con_contraseña=StringVar()

Label(screen1, text="Por favor llena este formulario", font=("consolas", 10), bg="#5EC659", fg="white").pack()

Label(screen1, text="", bg="#5EC659").pack()

Label(screen1, text="Nombre / s", font=("consolas", 10), bg="#5EC659", fg="white").pack()

Entry(screen1, textvariable=new_nombre).pack()

Label(screen1, text="Apellido paterno", font=("consolas", 10), bg="#5EC659", fg="white").pack()

Entry(screen1, textvariable=new_paterno).pack()

Label(screen1, text="Apellido Materno", font=("consolas", 10), bg="#5EC659", fg="white").pack()

Entry(screen1, textvariable=new_materno).pack()

Label(screen1, text="Usuario", font=("consolas", 10), bg="#5EC659", fg="white").pack()

Entry(screen1, textvariable=new_usuario).pack()

Label(screen1, text="Contraseña", font=("consolas", 10), bg="#5EC659", fg="white").pack()

Entry(screen1, textvariable=new_contraseña).pack()

Label(screen1, text="Confirma la contraseña", font=("consolas", 10), bg="#5EC659", fg="white").pack()

Entry(screen1, textvariable=con_contraseña).pack()

Label(screen1, text="", bg="#5EC659").pack()

Button(screen1, text=" Registrar", height="1", width="10", font=("consolas", 11), command=insert_newuser).pack()

def check_udb():

print("hola")

def main_screen():

global screen

screen = Tk()

screen.geometry("280x300")

screen.config(bg="#5EC659")

screen.title("Planeaciones 1.0")

global usuario

global contraseña

usuario = StringVar()

contraseña =StringVar()

Label(text="Bienvenido", font=("consolas", 15), bg="#5EC659", fg="white").pack()

Label(text="", bg="#5EC659").pack()

Label(text="Usuario", bg="#5EC659", fg="white", font=("consolas", 13)).pack()

Entry(screen, textvariable = usuario).pack()

Label(text="Contraseña", bg="#5EC659", fg="white", font=("consolas", 13)).pack()

Entry(screen, textvariable = contraseña).pack()

Label(text="", bg="#5EC659").pack()

Button(text="Ingresar", height="1", width="8", font=("consolas", 10), fg="#1E1E1E", command=check_udb).pack()

Label(text="¿No cuentas con usuario?", bg="#5EC659", fg="white").pack()

Label(text="¡Facil!, registra tu nuevo usuario.", bg="#5EC659", fg="white").pack()

Button(text="Registrarse", height="1", width="11", font=("consolas", 10), fg="#1E1E1E", command=registro_usuario).pack()

screen.mainloop()

main_screen()

这是控制台中出现的错误:

“C:\用户\ICATVER 03\PycharmProjects\pruebas

mysqldb\venv\Scripts\python.exe“”C:/Users/ICATVER

03/PycharmProjects/pruebas mysqldb/index.py“Tkinter中的异常

回调回溯(最近一次调用最后一次):文件“C:\用户\ictor

03\AppData\Local\Programs\Python\Python37-32\lib\tkinter_uuinit_uu.py“,

1705号线,输入

呼叫

插入新用户

mysqldb\venv\lib\site packages\mysql\connector\cursor.py“,第551行,

执行中

self._handle_result(self._connection.cmd_query(stmt))文件“C:\Users\ICATVER 03\PycharmProjects\pruebas

mysqldb\venv\lib\site packages\mysql\connector\connection.py“,行

490,在命令查询中

result=self._handle_result(self._send_cmd(ServerCmd.QUERY,QUERY))文件“C:\用户\ICATVER 03\PycharmProjects\pruebas

mysqldb\venv\lib\site packages\mysql\connector\connection.py“,行

395,在处理结果中

SQL语法错误;请查看与

MySQL服务器的正确语法版本使用near“

第1行的“值(asdf、asdf、asdf、asdf、asdf)”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值