Cara penulisan pernyataan siap pakai yang benar adalah sebagai berikut:
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()
Kesalahan berasal dari fakta bahwa modul mysql tidak menemukan tempat untuk meletakkan parameter yang Anda berikan, karena modul tidak menafsirkan tanda tanya sebagai placeholder, dan dengan demikian menghasilkan kesalahan yang memberi tahu Anda bahwa _mysql_exceptions.ProgrammingError: not all arguments converted during string formatting
, yang dalam bahasa manusia berarti tidak dapat memuat agumen Anda dalam format string.