用Python从数据库中删除

用Python从数据库中删除,python,mysql,sql,mysql-python,Python,Mysql,Sql,Mysql Python,我有deleteuser.py需要删除一个用户,下面是代码: # Import modules for CGI handling import MySQLdb import cgi, cgitb # Open database connection db = MySQLdb.connect("localhost", "root", "", "moviedb" ) # prepare a cursor object using cursor() method cursor = db.curso

我有
deleteuser.py
需要删除一个用户,下面是代码:

# Import modules for CGI handling
import MySQLdb
import cgi, cgitb

# Open database connection
db = MySQLdb.connect("localhost", "root", "", "moviedb" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Create instance of FieldStorage 
form = cgi.FieldStorage() 

# Get data from fields
iduser = form.getvalue('iddelete')

# execute SQL query using execute() method.
try:
    cursor.execute("""DELETE FROM user WHERE
         ID = '%s'""",(iduser))
    # Commit your changes in the database
    db.commit()
except:
    db.rollback()

# disconnect from server
db.close()

print "Content-Type: text/plain;charset=utf-8"
print
我没有错,但它不起作用。 数据库仍然是一样的

谢谢

以下是答案:

#!/Python27/python
# -*- coding: UTF-8 -*-


# Import modules for CGI handling
import MySQLdb
import cgi, cgitb

# Open database connection
db = MySQLdb.connect("localhost", "root", "", "moviedb" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Create instance of FieldStorage 
form = cgi.FieldStorage() 

# Get data from fields
iduser = form.getvalue('iddelete')

# execute SQL query using execute() method.
query = "delete from user where id = '%s' " % iduser
cursor.execute(query)
    # Commit your changes in the database
db.commit()

# disconnect from server
db.close()

print "Content-Type: text/plain;charset=utf-8"
print

不要把代码放在注释中,编辑问题。你正在小心地隐藏所有可能的错误,除了块。去掉它,这样你就可以看到到底出了什么问题。永远不要盲目地捕获和吞咽异常。我已经删除了try-catch,现在我有一个错误:在headers之前结束脚本输出谢谢,这对我帮助很大。现在我已经把答案贴出来了谢谢你贴出你的答案。但是,不要忘记具体说明错误是什么,以及您是如何解决的,以便将来除了从您的答案中获益之外,还能从中获益。现在,想象一下如果从cgi获得的
iduser
NULL;删除表格用户