gpt4 book ai didi

python - 值错误 : operation parameter must be str or unicode

转载 作者:太空宇宙 更新时间:2023-11-04 07:16:26 26 4
gpt4 key购买 nike

我正在尝试使用 python 将一些数据库字段插入到 SQLite 数据库中。我不断收到以下错误:

ValueError: operation parameter must be str

下面是我的代码。

import sqlite3

conn = sqlite3.connect("pass.db")
c = conn.cursor()

#Create table password
table_create_statement = "create table if not exists password(id integer primary key, site text, pass text);"
c.execute(table_create_statement)


#Promt user to input entry
sites = str(raw_input("Enter name of the sites: "))
password = str(raw_input("Enter password: "))

#SQL statement to insert the new entry
sql_statement = "insert into password values(?, ?, ?);",(None, sites, password)
c.execute((sql_statement))
connection.commit()
print("Password entered successfully")

输出:

Enter name of the sites: www.google.com
Enter password: abcd
Traceback (most recent call last):
File "pw.py", line 39, in <module>
c.execute((sql_statement))
ValueError: operation parameter must be str or unicode

最佳答案

您需要将 sql 语句和参数作为单独的参数传递给 execute()。您目前正在传递一个元组。

改为这样做:

sql_statement = "insert into password values(?, ?, ?);"
c.execute(sql_statement, (None, sites, password))

现在 sql_statement 是一个字符串,参数作为第二个单独的参数传入。

请注意,raw_input() 已经返回一个 str 对象,无需再次将其转换为 str

关于python - 值错误 : operation parameter must be str or unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43829414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com