Ошибка при отображении таблицы в Python MySQL - PullRequest
0 голосов
/ 03 июня 2019

Я создал функцию с именем «display_table» для отображения любой таблицы, учитывая ее имя. Когда я вызываю эту функцию для отображения таблицы с именем 'members', я получаю следующую ошибку.

mysql.connector.errors.ProgrammingError: 1064 (42000): у вас есть ошибка в> вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL> для правильного синтаксиса, чтобы использовать около '' members '' в строке

def display_table(table_name):
    sql = " select * from %s "
    val = (table_name,)
    mycursor.execute(sql,val)
    myresult = mycursor.fetchall()
    for row in myresult:
        print(row)


display_table('members')

Я не могу понять, почему эта ошибка появляется. Пожалуйста, помогите.

1 Ответ

1 голос
/ 03 июня 2019

Вы не можете передать имя таблицы в качестве параметра для вашего подготовленного оператора.Параметры разрешены только для данных столбца.Вы должны изменить свой код:

def display_table(table_name):
    sql = " select * from %s " % table_name
    mycursor.execute(sql)
    myresult = mycursor.fetchall()
    for row in myresult:
        print(row)


display_table('members')
...