Python 2.7.8:TypeError:%d格式:需要一个数字,而不是tup

2024-05-15 04:06:13 发布

您现在位置:Python中文网/ 问答频道 /正文

当我写简单的时候:

sqli = ("SELECT SUM(obtained) FROM stobt  WHERE stid = %d " ) %(row2)

没有错误和指纹

但当我写下:

^{pr2}$

让我感到恶心的错误:

错误:

TypeError: %d format: a number is required, not tuple

更多信息请看我的数据库: enter image description here


Tags: fromformat错误whereselect指纹sumsqli
1条回答
网友
1楼 · 发布于 2024-05-15 04:06:13

您的问题与查询字符串的创建有关,与实际数据库无关。在

如果row2是一个整数,sub是一个字符串,那么它适用于我:

>>> row2 = 12
>>> "SELECT SUM(obtained) FROM stobt  WHERE stid = %d " % (row2)
'SELECT SUM(obtained) FROM stobt  WHERE stid = 12 '
>>> sub = "subject"
>>> "SELECT SUM(obtained) FROM stobt  WHERE stid = %d and subject='%s'" % (row2, sub)
"SELECT SUM(obtained) FROM stobt  WHERE stid = 12 and subject='subject'"
>>> ("SELECT SUM(obtained) FROM stobt  WHERE stid = %d and subject='%s'") % (row2, sub)
"SELECT SUM(obtained) FROM stobt  WHERE stid = 12 and subject='subject'"
>>> type(row2)
int

请确保没有更改row2的值。在

相关问题 更多 >

    热门问题