2015-08-31 51 views
1

我在樹莓派上第一次使用python。從SQL查詢結果中設置python變量

我有一個腳本查詢SQL表並返回設置的值。

我無法工作的是從結果中設置python變量。

下面是代碼的一部分,我有

# execute SQL query using execute() method. 
cursor.execute("select id from wallboard") 

# Fetch a single row using fetchone() method. 
data = cursor.fetchone() 

# disconnect from server 
db.close() 

result = str("%s " % data) 
print result 

if result == 1: 

打印顯示的結果不錯,但它不會進入if語句。

我對python很新,所以它可能是一個簡單的修復,但我很難過。

感謝

回答

4

不要將結果轉換爲字符串:

>>> "1" == 1 
False 

還要注意的是fetchone()會回報你這將被表示爲一個元組結果的單行 - 得到的第一個項目得到實際的id列值:

result = cursor.fetchone()[0] 
+0

注意在Python中鍵入(取決於你來自這可能有點奇怪)。使用Pythons的'''type(var)''' - 我在早期版本中仍然有這些語句。還有一個關鍵是'''isinstance()'''來確定是一種字符串/類/ etc還是特定類名稱的實例。 –

+0

@ BK435該建議完全是特定用例。 OP比較返回整數id的SQL查詢的結果和整數「1」。製作中間字符串沒有意義。 – alecxe