2015-09-01 181 views
0

我想在選擇國家名稱並按下按鈕後獲取國家/地區信息。我使用的是cherrypy,jinja,python和mysql。所以我希望信息在瀏覽器上顯示。MySQL + Python索引超出範圍錯誤

但是,當我按下提交按鈕我得到這個錯誤:

countList=self.get_info(countryInfo)[0]  
IndexError: list index out of range 

這是導致該問題的代碼的主要部分。

@cherrypy.expose 
    def get_Country_Info(self,countryInfo=None): 
     self.get_Names() 
     countList=self.get_info(countryInfo)[0] 
     tmpl=env.get_template("submit_test.html") 
     return tmpl.render(salutation="Welcome to", target="Country List", myList=self.country_list, country=countList) 

def get_info(self,countryInfo): 
     self.con.execute("SELECT Code, Name, Continent, Population, Capital FROM Country WHERE Name LIKE %s", (countryInfo,)) 
     self.countryDB=list(self.con.fetchall()) 
     return self.countryDB 
+1

的結果集由'self.con.fetchall()返回'空?如果你將一個空列表投給'list',它會失效'[]'並將其編入索引將超出範圍 –

回答

0

您未正確調用execute

嘗試: self.con.execute("SELECT Code, Name, Continent, Population, Capital FROM Country WHERE Name LIKE ?", countryInfo)

+0

謝謝,這有助於 –