我一直在寻找解决方案,但似乎无法发现我所做的事情。做错了。我有一个mysql数据库,其中包含一个包含2列的表:clock(包含时间戳)和state(包含1或0)。当我的面包板上按下一个按钮时(我使用树莓派),1进入数据库,不断更新,如果没有按下按钮,则输入0表。这是因为我在命令行中选择了表格,并显示了适当数量的1和0。
在一个单独的python文件中,数据库和表被调用,并且据说是状态列的总和,如果这是1或更多,我知道按钮已经在最后30秒内按下,因为表格将每30秒清除一次。
问题是,无论多少1和0,甚至当表为空时,总和只返回1.我是python的新手,所以这个错误可能很小,谢谢为你的帮助一样!
以下是总和的整个python文件:
import MySQLdb
conn = MySQLDB.connect('localhost', 'root', 'password', 'sensordb')
cur = conn.cursor()
but1 = cur.execute("SELECT SUM(state) FROM button1")
print "%d" % but1
答案 0 :(得分:0)
您还需要获取该行。
cur.execute("SELECT SUM(state) FROM button1")
row = cur.fetchone()
while row is not None:
print(row)
row = cur.fetchone()
答案 1 :(得分:0)
你快到了......
在cur.execute(....)之后
然后您需要阅读输出...
for result in cursor.execute("Your QUERY"):
if result.with_rows:
print("Rows produced by statement '{}':".format(
result.statement))
print(result.fetchall())
希望这可以帮助你......