You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python连接MySQL触发Tkinter回调异常:SQL参数未全使用

解决MySQL参数未全部使用的编程错误

嘿,我一眼就瞅出问题所在啦!你的SQL语句里只给密码用了占位符?,但用户名那里写的是硬编码的text字符串,不是占位符——这就导致你传了两个参数(用户名和密码),但SQL语句只用到了一个,数据库自然会报错说参数没全部用上。

错误代码的核心问题

看你这段代码:

cursor.execute("SELECT * FROM `member` WHERE `username` = text AND `password` = ?", (USERNAME.get(), PASSWORD.get()))

这里的username = text是把text当成了固定字符串字面量,不是用来接收参数的占位符,所以数据库只会处理后面的?,你传的第一个参数(用户名)就被闲置了,直接触发ProgrammingError。

修正后的正确代码

把用户名的条件也改成占位符?,让两个参数能对应上两个占位符:

cursor.execute("SELECT * FROM `member` WHERE `username` = ? AND `password` = ?", (USERNAME.get(), PASSWORD.get()))

额外小提醒

这种用占位符的方式是正确且安全的,能有效防止SQL注入攻击,千万别图省事直接把变量拼进SQL语句里,那样会埋下很大的安全隐患哦。

内容的提问来源于stack exchange,提问作者Harsh Joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:58:06