如何在sqlite3数据库中插入变量

8zzbczxx  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(664)

我不熟悉sql(或者老实说python),我想知道如何将变量添加到表中。这就是我所尝试的:

import sqlite3
conn = sqlite3.connect('TESTDB.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS table(number real, txt text)''')
r=4
c.execute('''INSERT INTO table(r,'hello')''')
conn.commit()
conn.close()

这不起作用。我得到一个错误,“typeerror:'str'object is not callable”我如何让表插入变量r??
谢谢

8e2ybdfx

8e2ybdfx1#

必须将值绑定到已准备语句中的占位符。参见文档中的示例。
尝试动态构建一个直接插入未知值的查询字符串是获得sql注入攻击的好方法,应该避免。

j8yoct9x

j8yoct9x2#

你的问题是你不注射 r 你的问题。这应该起作用:

c.execute('''INSERT INTO table(''' + str(r) + ''','hello')''')

干杯

相关问题