[已解决TypeError: not all arguments converted during string formatting]:python的格式化字符串报错

今天在进行sql语句参数化的时候出现了如下错误:

TypeError: not all arguments converted during string formatting

如图:

 代码是这样的:

sql = 'select * from student where sname="%s" and passwd = "%s"'%(sname,passwd)

params = (sname,passwd)
rowcount = cursor.execute(sql,params)
if rowcount!=0:
    print("登陆成功!!!")
else:
    print("登录失败!!!")

经过在网上查找资料,发现是因为这里的sql语句出现了格式化字符的问题,出现了重复的地方(这里的sname和passwd出现了两次,需要删除),又因为要体现sql语句的参数化,所以我删除了sql的格式化方式,将sname和passwd作为sql的参数

修改之后的代码是这样的:

sql = 'select * from student where sname=%s and passwd = %s'

params = (sname, passwd)
rowcount = cursor.execute(sql, params)
if rowcount != 0:
    print("登陆成功!!!")
else:
    print("登录失败!!!")

 删除之后就可以正常运行了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值