我想找到' vazn'的价值。 (sql table的一列)其中' id'列等于f1。 表名是" billse" " vazn" &安培; " ID1"是这张表的专栏...... " F1"是一个变量
f1是一个变量如下:
f1=int(enter3.get())
enter3是一个条目。
我在enter3中输入的变量等于sql表中现有的一个id(' bill') 这是我的代码:
self.cur.execute("SELECT vazn FROM billse WHERE id1='f1'")
vaznp = self.cur.fetchall()
print(vaznp)
我得到了' null'当它打印vaznp 为什么呢?
答案 0 :(得分:1)
使用预先准备好的声明:
self.cur.execute("SELECT vazn FROM billse WHERE id1=?", f1)
vaznp = self.cur.fetchall()
print(vaznp)
您当前的查询实际上被解释为:
SELECT vazn FROM billse WHERE id1='f1'
换句话说,您将id1
列与字符串'f1'
进行比较,而不是与该变量中包含的值进行比较。准备好的语句还可以让您免于在查询中处理正确转义的字符串。