defcreate_user(f_name,s_name,email,sex,dob,mobile=None):try:conn=mysql.connector.connect(host=host,user=user,passwd=password)# create a connection to the databasecursor=conn.cursor(prepared=True)# Creates a cursor that is expecting preparedifmobileisnotNone:# if the mobile number is specifiedsql_parameterized_query=("""BEGIN;
INSERT INTO users (FirstName, Surname, Email, Dob, Gender, Mobile)
VALUES (%s, %s, %s, %s, %s, %s);
INSERT INTO passwords (UserID, hashedPass)
VALUES (LAST_INSERT_ID(),%s);
COMMIT;""")query_array=(f_name,s_name,email,date_sql_format(dob),sex,mobile,hash_user_password)else:# if the mobile number is not specifiedsql_parameterized_query=("""BEGIN;
INSERT INTO users (FirstName, Surname, Email, Dob, Gender)
VALUES(%s, %s, %s, %s, %s);
INSERT INTO passwords (UserID, hashedPass)
VALUES(LAST_INSERT_ID(),%s);
COMMIT;""")query_array=(f_name,s_name,email,date_sql_format(dob),sex,hash_user_password)# Init array of valuescursor.execute(sql_parameterized_query,query_array)# Execute queryconn.commit()