我可以完美地连接到我的数据库,以某种方式设法将它的写入部分弄糟。 我只是找不到答案,我真的很想了解点什么!
这是我的代码:
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:\ Users \ ICATVER 03 \ PycharmProjects \ pruebas mysqldb \ venv \ Scripts \ python.exe“” C:/ Users / ICATVER 03 / PycharmProjects / pruebas mysqldb / index.py“ Tkinter中的异常 回调回溯(最近一次呼叫最近):文件“ C:\ Users \ ICATVER 03 \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ tkinter__init __。py“, 第1705行,在致电 返回self.func(* args)文件“ C:/ Users / ICATVER 03 / PycharmProjects / pruebas mysqldb / index.py”,第22行,在 insert_newuser cursor.execute(add_usuario)文件“ C:\ Users \ ICATVER 03 \ PycharmProjects \ pruebas 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,在cmd_query中 结果= self._handle_result(self._send_cmd(ServerCmd.QUERY,查询))文件“ C:\ Users \ ICATVER 03 \ PycharmProjects \ pruebas mysqldb \ venv \ lib \ site-packages \ mysql \ connector \ connection.py“,行 395,以_handle_result 引发错误.get_exception(数据包)mysql.connector.errors.ProgrammingError:1064(42000):您有一个 您的SQL语法错误;检查与您的手册相对应的手册 MySQL服务器版本,可在'“附近使用正确的语法 “ VALUES(asdf,asdf,asdf,asdf,asdf)'位于第1行