使用此代码:
current_time=time.localtime()
time_now=time.strftime('%H:%M:%S',current_time)
cursor.execute("Select * from SUBSCRIPTION_DETAILS where Alert_time='%s'") % time_now
我收到错误:
unsupported operand type(s) for %:long and str
type
的{p> Alert_time
是varchar
答案 0 :(得分:2)
您错放了%
您现在正在做的是:
cursor.execute("[snip]") % time_now
因此,您对time_now
cursor.execute
你想要的是使用带有字符串的%
,如下所示:
cursor.execute("[snip]" % time_now)
但是不要这样做,你应该使用:
cursor.execute("Select * from SUBSCRIPTION_DETAILS where Alert_time=%s", (time_now,))
请注意,在这里,我们将time_now
作为第二个参数传递,而不是使用%
运算符。这将确保正确清理查询,以防止SQL注入攻击。
需要(稍微丑陋)尾随,
以确保第二个参数是一个元组。