1

我正在尝试使用 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

我该如何解决?

4

1 回答 1

2

我也很高兴看到你所有的导入声明,看看你的代码中可能缺少什么。我假设您至少在某处有 import 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)
于 2013-02-24T03:51:07.513 回答