无法使用特定ID访问数据库中的数据

时间:2017-05-20 08:03:46

标签: python python-2.7 pymysql

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()

1 个答案:

答案 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(..)