pymysql的问题。尝试在SELECT子句中使用字符串

2024-06-28 11:06:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python3.6.9和pymysql库进行项目。 基本上,我尝试在SELECT子句中使用字符串:

import pymysql;

def wypisywanie_z_bazy():
    connection = pymysql.connect(host='localhost',
                                        user='root',
                                        password='',
                                        db='dbprojekt',
                                        charset='utf8mb4',
                                        cursorclass=pymysql.cursors.SSDictCursor);#kursor bez bufora, wykorzystywany ze wzgledu na slabe dzialanie serwera (sugestia z dokumentacji technicznej)
    try:
        with connection.cursor() as cursor:
            sql = "SELECT * FROM `%s`";
            cursor.execute(sql,('Czlonek'));
            result=cursor.fetchall();
            print(result);
    finally:
        connection.close();

但是它不起作用。我也尝试过几种不同的方法,不幸的是没有一种有效。 我怎样才能使这个条款生效?我尝试查看pymysql文档,但失败了


Tags: 项目字符串importhostsqldefconnectresult
1条回答
网友
1楼 · 发布于 2024-06-28 11:06:46

您可以尝试在select子句中使用f字符串或format字符串,如下所示:

table = 'Czlonek'
try:
    with connection.cursor as cursor:
        sql = f"SELECT * FROM {table}"
        cursor.execute(sql)
        result = cursor.fetchall()
except Exception:
    pass
finally:

您可能会暴露于sql注入

相关问题 更多 >