用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;删除表格用户
。