Я получаю сообщение об ошибке:
sqlite3.OperationalError: near "The": syntax error
После устранения неполадок я определил причину апостроф (') в названии книги.Я прочитал, что мне нужно параметризовать SQL, но у меня проблемы с этим.Код, о котором идет речь:
#Connect to database
top_ten_db = connect('top_ten.db')
#Retrieve view of database
db_view = top_ten_db.cursor()
#Insert the information from selected list. Simple loop to do akk the insert commands neatly.
ranking = ['1','2','3','4','5','6','7','8','9','10']
ranking_list_number = 0
name_list_number = 0
description_list_number = 0
for information in range(10):
db_view.execute('''INSERT INTO top_ten VALUES ("'''+ date[0] +'''","''' + ranking[ranking_list_number] + ''' ","''' + NYT_names[name_list_number] +'''","'''+ description[description_list_number] +'''");''')
ranking_list_number = ranking_list_number+1
name_list_number = name_list_number +1
description_list_number = description_list_number +1
#Commit changes
top_ten_db.commit()
#Close the database
db_view.close()
top_ten_db.close()
Обратите внимание, что переменные "date", "NYT_names" и "description" все найдены с помощью запросов регулярных выражений, которые получают информацию с онлайн-сайтов, поэтомуУ меня нет контроля над вводом.
Также следует отметить, что вплоть до введения апострофа код работал нормально.Также название книги (при необходимости): «Дочь часовщика»