import pymysql
import os
conn =pymysql.connect(host='localhost',database='pyp',user='root',password='')
a = conn.cursor()
h= raw_input('enter your id')
sql='SELECT * from report WHERE Id = h'
a.execute(sql)
data=a.fetchall()
print(data)
conn.close()
答案 0 :(得分:1)
问题是您的查询是:
SELECT * from report WHERE Id = h
因此它将h
解释为 MySQL列h
(可能甚至不存在)
除非您指定,否则Python不会使用变量h
自动替换h
。
您可以使用以下方法解决此问题:
sql='SELECT * from report WHERE Id = %s'
a.execute(sql,(h,))
因此,您使用%s
指定参数,然后使用(list of)值调用.execute(..)
。