我已经检查了与此相关的问题,但我似乎找不到任何可以帮助我解决问题的方法。
# this is the code that comes before the mysql query
select = request.args['select']
print select # ["c9", "TEMP"]
c, conn = connection()
print "connected"
实施此查询后,它不会产生任何数据
data = c.execute("SELECT Client, %s, Date_Time FROM data WHERE Client = %s and Date_Time > '2016-04-26 18:17:15'", (select[1],select[0]))
# prints data = 0
这个用我的SQL查询产生错误
data = c.execute("SELECT Client, '%s', Date_Time FROM data WHERE Client = '%s' and Date_Time > '2016-04-26 18:17:15';", (select[1],select[0]))
# (1064, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\\"\'\', Date_Time FROM data WHERE Client = (\'[\') and Date_Time > \'2016-04-26 18:17\' at line 1')
此处也没有数据生成
data = c.execute("SELECT Client, '%s', Date_Time FROM data WHERE Client = %s and Date_Time > '2016-04-26 18:17:15';", (select[1],select[0]))
# prints data = 0
但是,只需输入此命令即可(无变量)
data = c.execute("SELECT Client, TEMP, Date_Time FROM data WHERE Client = 'c9' and Date_Time > '2016-04-26 18:17:15';")
那么我的错误在哪里? :/
答案 0 :(得分:2)
您不能在列列表中使用参数替换;你需要在那里使用普通的Python字符串格式。
title .................................
start date ........... expiry date...............
title .................................
start date ........... expiry date...............
title .................................
start date ........... expiry date...............
title .................................
start date ........... expiry date...............
====================================================
title .................................
start date ........... expiry date...............
====================================================
title .................................
start date ........... expiry date...............
title .................................
start date ........... expiry date...............