我在 eclipse 中使用带有 mySQL 连接器的 Pydev。我正在编写代码以从代码输出中获取信息并将其放入数据库中。但是我收到错误
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 5, and there are 0 supplied.
这是代码,任何帮助将不胜感激:
try:
cursor.execute('''CREATE TABLE ipinfo
(SEARCH_ASN TEXT NOT NULL,
SEARCH_ASN_CIDR TEXT NOT NULL,
SEARCH_COUNTRY_CODE TEXT NOT NULL,
SEARCH_DATE DATE NOT NULL,
SEARCH_REGISTRY TEXT NOT NULL)''')
print "Table created successfully";
except:
pass
cursor.close()
object = IPWhois('ip address')
results = obj.lookup_rdap(depth=1)
cursor = sqlite3.connect('test.db')
cursor.execute("INSERT INTO ipinfo(SEARCH_ASN, SEARCH_ASN_CIDR, SEARCH_COUNTRY_CODE, SEARCH_DATE, SEARCH_REGISTRY)
VALUES(?,?,?,?,?)")
cursor.commit()
cursor.close()
结果获取信息 使用网络爬虫清理 IP
在这里:
cursor.execute("INSERT INTO ipinfo(SEARCH_ASN, SEARCH_ASN_CIDR, SEARCH_COUNTRY_CODE, SEARCH_DATE, SEARCH_REGISTRY)
VALUES(?,?,?,?,?)")
您正在发送参数化的insert
查询,但未提供要插入的值。这应该看起来像这样:
sql = "INSERT INTO ipinfo(SEARCH_ASN, SEARCH_ASN_CIDR, SEARCH_COUNTRY_CODE, SEARCH_DATE, SEARCH_REGISTRY) VALUES(?,?,?,?,?)"
values = (value1, value2, value3, value4, value5)
cursor.execute(sql, values)
我假设您想从results
变量中获取值,但由于我们不知道results
是什么,因此我们无法进一步提供帮助。
您尚未提供任何数据。
插入语句如下所示(例如):
new_db.execute("insert into Recent(Filename,TimeStamp,Icon) values (?,?,?)",
(x['Filename'],x['TimeStamp'],x['Icon']))