编写预备语句的正确方法如下:
def create_student(surname, forename, dob, address, phone, gender, tutor, email):
cursor = MysqL.connection.cursor()
cursor.execute('''
INSERT INTO students(surname, forename, dob, address, phone, gender, tutor, email)
VALUES(%s, %s, %s, %s, %s, %s, %s, %s)''', (surname, forename, dob, address, phone, gender, tutor, email))
MysqL.connection.commit()
该错误来自以下事实:MysqL模块找不到要放置的参数放在哪里,因为它没有将问号解释为占位符,因此产生了一个错误,告诉您_MysqL_exceptions.ProgrammingError: not all arguments converted during string formatting
,这在人类语言中意味着它不适合格式字符串中的参数。