如何在查询中使用多个变量:
import pymysql
def get_firstname(y):
db = pymysql.connect(host="xxx.xxx.xxx.xxx",
user="xxxx",
passwd="xxxxx",
db="XXXXXXX")
cur = db.cursor()
query = "SELECT first_name FROM information WHERE x = y;"
cur.execute(query, (y))
result = str(cur.fetchone()[0])
return(result)
x = user_id
y = 1
print (get_firstname(y))
我希望能够根据我的选择将 x 更改为不同的变量。像 user_id、姓氏、电子邮件等。我数据库中的所有列。 #y 是另一个变量,代表我数据库中列的值。
例 1:如果 x 为“user_id”,y 为“1”,则结果为 user_id 为 1 的人的名字。
例 2:如果 x 是“email”,y 是“person@person.com”,则结果是电子邮件为 person@person.com 的人的名字。
最佳答案
使用下面的代码:
import pymysql
def get_firstname(x, y):
db = pymysql.connect(host='xxx.xxx.xxx.xxx',
port=3306,
user='xxxx',
password='xxxxxxxx',
db='test_db')
cur = db.cursor()
query = "SELECT first_name FROM `information` WHERE %s" %(x)
final_query = query+"=%s"
#print(final_query)
cur.execute(final_query, (y,))
result = cur.fetchall()
return(result)
x = 'user_id'
y = 1
output = get_firstname(x,y)
if output:
for x in output:
print(x)[0]
示例输入:
x = 'email_id'
y = 'xx@gmail.com'
或
x = 'user_id'
y = 1 // Not enclosed with single quotes
关于python - 如何在pymysql中使用多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46829758/