脚本正在正确读取字符串,但它似乎无法进行并插入到数据库中。
这是我的一个家庭项目。我使用的是RasPi 3 ModelB +。
a = input('Scan Card: ')
now = datetime.strftime('%H:%M:%S')
#This is the insert line
tapped = "INSERT INTO log (rfid, taptime) VALUES (%s, %s)" %(a, now)
t = conn.cursor()
t.execute(tapped)
conn.commit()
Traceback (most recent call last):
File "door.py", line 54, in <module>
t.execute(tapped)
File "/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 170, in execute
result = self._query(query)
File "/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 328, in _query
conn.query(q)
File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 517, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 732, in _read_query_result
result.read()
File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 1075, in read
first_packet = self.connection._read_packet()
File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 684, in _read_packet
packet.check_error()
File "/usr/local/lib/python2.7/dist-packages/pymysql/protocol.py", line 220, in check_error
err.raise_mysql_exception(self._data)
File "/usr/local/lib/python2.7/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.ProgrammingError: (1064, u"You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ':40:44)' at line 1")
我只想要点击卡的日志数据库。
不应使用字符串替换,而应在执行中将值作为参数传递:
tapped = "INSERT INTO log (rfid, taptime) VALUES (%s, %s)")
t = conn.cursor()
t.execute(tapped, (a, now))
我不确定,但错误在这里
now = datetime.strftime('%H:%M:%S'(
问题是你使用的是 H、M 和 S。尝试:使用数值的日期("Y-m-d H:i:s"(
您必须以 24 小时格式执行此操作。