Python MySQL(MariaDB)查询FROM_UNIXTIME我没有得到计数结果(显示行0-0)

时间:2018-12-16 11:58:49

标签: python mysql sql unix-timestamp

我需要在python上获取结果:2018-12-10 06:15:36但我得到的结果是:当我使用此代码时,结果为1(我认为是):

在python上:

>>> dateadd = g.cur.execute("SELECT FROM_UNIXTIME(date, '%Y-%m-%d %h:%i:%s') FROM videos WHERE id={}".format(id))
>>> print dateadd
1

在phpmyadmin上:

SELECT FROM_UNIXTIME(date, '%Y-%m-%d %h:%i:%s') FROM videos WHERE id=1
  

显示第0-0行(共1行,查询耗时0.0014秒。)

FROM_UNIXTIME(date, '%Y-%m-%d %h:%i:%s')   date
2018-12-10 06:15:36                        1544465736

当我在python上使用打印功能时,如何获取数据时间(2018-12-10 06:15:36)?

已解决:

>>> g.cur.execute("SELECT FROM_UNIXTIME(date, '%Y-%m-%d %h:%i:%s') FROM videos WHERE id={}".format(id))
>>> dateadd = g.cur.fetchone()
>>> print dateadd[0]
2018-12-16 10:53:16

感谢@kcorlidy

1 个答案:

答案 0 :(得分:1)

g.cur.execute将返回是否成功执行的状态。您不必太担心它。成功执行后,应使用fetchonefetchallfetchmany获得结果。还有一点,您应该知道使用param是更好的选择,它可以避免大多数sql注入。 Python MySQL Parameterized Queries

g.cur.execute("SELECT FROM_UNIXTIME(date, '%Y-%m-%d %h:%i:%s') AS value FROM videos WHERE id=%s",(id))