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

Cannot access data from database using specific id

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

那么问题是您的查询是:

SELECT * from report WHERE Id = <b>h</b>

因此它将 h 解释为 MySQL 列 h(可能甚至不存在)

Python 不会自动用变量 h 替换 h,除非您指定。

您可以使用以下方法解决此问题:

sql='SELECT * from report WHERE Id = <b>%s</b>'
a.execute(sql<b>,(h,)</b>)

因此您使用 %s 指定参数,然后使用值(列表)调用 .execute(..)