我试图用python测试以下内容,但我得到了无效语法错误:
db = None
try:
db = mdb.connect("localhost","user","pass","dbName")
with db:
cur = db.cursor()
cur.execute("SELECT * from product")
rows = cur.fetchall()
for row in rows:
print row
except mdb.Error, e:
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
错误如下:
File "script.py", line 11
with db:
^
SyntaxError: invalid syntax
我该如何解决这个问题?
我也很高兴看到您的所有导入声明,看看您的代码中可能缺少什么。我假设您至少在某个地方有导入MySQLdb。我用几个数据行制作了一个虚拟数据库来测试这一点。不确定python是如何让你摆脱缩进块的混乱,但也许这只是你在这里发布代码缩进的错误。
这是我尝试过的代码,似乎没有问题:
import MySQLdb as mdb
db = None
try:
db = mdb.connect("localhost","user", "password", "test_data")
## with db: ## try taking this out for Python 2.4
cur = db.cursor()
cur.execute("SELECT * FROM PRODUCT")
rows = cur.fetchall()
for row in rows:
print row
except mdb.Error, e:
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)