Python sqlite 内部服务器错误

0 投票
1 回答
884 浏览
提问于 2025-04-18 02:42

我正在开发一个后端使用Python的网站。下面的脚本是用来接收来自JavaScript的值,并把这些值写入数据库。

import cgi
import sqlite3

form = cgi.FieldStorage()
brand = form['brand'].value
model = form['model'].value

db = sqlite3.connect("dbase.db")
query = "INSERT INTO requests (brand, model) VALUES (?, ?)"
db.execute(query, (brand, model,))
db.commit()
db.close()

但是,当我调用这个脚本时,返回了一个500 Internal Server Error的错误。让我感到惊讶的是,下面的代码在终端独立运行时却没有问题。

import sqlite3

brand = 'nokia'
model = 'lumia 625'

db = sqlite3.connect("dbase.db")
query = "INSERT INTO requests (brand, model) VALUES (?, ?)"
db.execute(query, (brand, model,))
db.commit()
db.close()

我使用的是Python 2.7.5,并且是在Lighttpd服务器上运行。此外,db.execute()这一部分是出错的地方。请问我该如何解决这个问题呢?

1 个回答

0

这可能是因为你没有创建数据库 dbase 和表 requests。你需要一个数据库和一个表来插入数据。你可以用下面的命令来创建数据库。

sqlite3 dbase.db

接下来,你需要像下面这样创建一个表。

create table requests(brand varchar(10), model varchar2(10));

然后你的文件就可以正常运行了。

撰写回答