De juiste manier om voorbereide verklaringen te schrijven is als volgt:
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()
De fout komt van het feit dat de mysql-module niet kan vinden waar de parameters moeten worden geplaatst die u eraan geeft, omdat het de vraagtekens niet als tijdelijke aanduidingen interpreteert en dus een fout produceert die u vertelt dat _mysql_exceptions.ProgrammingError: not all arguments converted during string formatting
, wat in menselijke taal betekent dat het niet in je agumenten past in de opmaakreeks.