SyntaxError:mysqlDb python中的语法无效



我试图用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)

最新更新