[英]Why ser.readline data not appear in mysql?
我正在使用連接到arduino的傳感器,並使用ser.readline()來打印傳感器和成功的讀數。 但是當我想使用ser.readline將讀取值發送到mysql時。 它只傳遞設備名稱和當前時間,並且mysql中顯示的讀數值為“0”。 在這里我的編碼。
import time
import serial
import smtplib
import datetime
import MySQLdb
db = MySQLdb.connect("192.168.0.103", "fyp", "123456", "system")
ser = serial.Serial('/dev/ttyACM0', 9600)
while True:
api = ser.readline()
current_time = datetime.datetime.now()
print (api)
sql = "INSERT INTO reading (series_no, time, api) VALUES ('test1', current_time, api)"
data = (current_time, api)
cur.execute(sql)
db.close()
使用%s也不起作用。 先感謝您。
您沒有正確參數化查詢 。 要解決的幾件事:
%s
,沒有引號 data
元組execute()
固定版本:
sql = "INSERT INTO reading (series_no, time, api) VALUES ('test1', %s, %s)"
data = (current_time, api)
cur.execute(sql, data)
db.commit()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.