Python 3.x Python脚本中的SQLite占位符错误

Python 3.x Python脚本中的SQLite占位符错误,python-3.x,sqlite,discord.py,Python 3.x,Sqlite,Discord.py,我目前正在开发一个discord机器人,它在服务器上实现了某种经济性 在实现向SQLite数据库添加项目的功能时,我遇到了以下问题: cur.execute("INSERT INTO items (?,?,?,?,?,?)", item) sqlite3.OperationalError: near "?": syntax error 我已经换了?作为占位符,感谢post和found post,但对我帮助不大 所有值都是通过discord中命令的参数获取的,并转换为string或int

我目前正在开发一个discord机器人,它在服务器上实现了某种经济性

在实现向SQLite数据库添加项目的功能时,我遇到了以下问题:

    cur.execute("INSERT INTO items (?,?,?,?,?,?)", item)
sqlite3.OperationalError: near "?": syntax error
我已经换了?作为占位符,感谢post和found post,但对我帮助不大

所有值都是通过discord中命令的参数获取的,并转换为string或int。 我使用SQLiteStudio,并将数据类型分别设置为Text和Integer

conn = create_connection(db_file)
        with conn:
            cur = conn.cursor()
            item = (itemname, price, info_text, buy_text, use_text, role,)
            market = (itemname, stock,)
            cur.execute("INSERT INTO items (?,?,?,?,?,?)", item)
            cur.execute("INSERT INTO market (?,?)", market)

您的SQL查询无效。INSERT的语法是其中之一

INSERT INTO table VALUES (...)
INSERT INTO table (columns) VALUES (...)
因此,您应该能够将查询更改为

cur.execute("INSERT INTO items VALUES (?,?,?,?,?,?)", item)
这将解决它

INSERT语句插入表col1、col2、。。。值val1,val2。。。。如果要为每列插入值,则列列表是可选的。