2013-02-24 2 views
1

내가 파이썬으로 다음 테스트하려고하지만 잘못된 구문 오류 얻을 : I을 어떻게구문 에러 : mysqlDb 파이썬에 잘못된 구문은

File "script.py", line 11 
with db: 
    ^
SyntaxError: invalid syntax 

:

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) 

오류를 다음입니다 이것을 고쳐라?

+0

당신은'SyntaxError'을 포함하여 스크립트에서 당신이 그들을 가지고 정확하게 코드의 라인의 처음 몇 형식을 주시겠습니까? – Johnsyweb

+0

질문을 다시 포맷하십시오. – cwallenpoole

+0

요청에 따라 편집 됨 – RazorHead

답변

2

코드에서 누락 된 부분을 확인하기 위해 모든 가져 오기 선언을 확인하는 것이 좋습니다. 나는 적어도 당신이 어딘가 importdb를 가지고 있다고 가정한다. 이것을 테스트하기 위해 몇 개의 데이터 행을 가진 더미 데이터베이스를 만들었습니다. 파이썬이 들여 쓰기 블록이 엉망이되는 것을 어떻게 막을 지 모르겠지만 여기에 코드 들여 쓰기 게시 오류가있을 수 있습니다.

내가 시도 보였다 코드는 아무런 문제가 없습니다되어

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) 
+0

최근 코멘트를 보았습니다. 파이썬 2.4를 사용한다면, "with db :"라인을 꺼내보십시오. – Patratacus