如何使用多变量pymysql
问题描述:
如何使用多个变量我的查询:
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是另一个表示数据库中列值的变量。如何使用多变量pymysql
练习1:如果x是“USER_ID”和y是“1”,那么结果是USER_ID 1
练习2人的名字:如果x是“电子邮件”,y是“人@ person.com“,那么结果就是电子邮件地址为[email protected]的人的名字。
答
使用下面的代码:
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]
Sample Inputs:
x = 'email_id'
y = '[email protected]'
或
x = 'user_id'
y = 1 // Not enclosed with single quotes
感谢对此事发表评论。 – Bjarke
虽然给了我另一个问题。 我用它作为 x ='last_name' y ='Larsen' 我有几个用户使用该姓氏,但它只显示具有该姓氏的第一位用户。它可以重复代码,直到我的数据库中没有更多用户使用该姓氏,然后将它们全部打印出来? – Bjarke
我已更新代码以获取所有值。 –