Python sqlite 内部服务器错误
我正在开发一个后端使用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));
然后你的文件就可以正常运行了。