python - 如何在pymysql中使用多个变量

标签 python mysql python-3.x 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 是另一个变量,代表我数据库中列的值。

例 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/

相关文章:

python - 如何让 python 3 在运行 http.server 时显示 html 和动态内容

java - YYYY-MM-DD HH :MM:SS[. fraction]格式的MySQL更新日期字段

python - 驱动器 API 错误 Python : FileNotFoundError 'credentials.json'

Python:1. 和 1 之间的区别

python - 在 WSGI 环境中启动一个单独的线程

python - 如何将数组绘制为热图时间序列

python - 将一行中的所有列追加到另一行中

php - php中Mysql内连接搜索

MySQL连接两表查询

python-3.x - psycopg2 在 "$body$"处或附近抛出未终止的美元引用字符串错误