ЮЧ
)
Подскажите пожалуйста с таким вопросом:
Пишу функцию, которая должна брать входным параметром слово, которое ищется затем в БД, в одной из записей (в теле функции).
На выходе должны получить любую списочную структуру (список, кортеж, словарь;
Чтобы не усложнять, пусть будет список), которая будет содержать:
1) линки
и
2) заголовки соответствующих статей (тех, в которых содержится заданное слово).
Тот результат, который работает правильно, но без использования входной переменной:
cur.execute('''SELECT
links
, titles
FROM experim
.articlescopy2
WHERE content
LIKE "%Львів%"''')Что я пробовал делать, перед тем, чтобы опубликовать этот вопрос:
# cur.execute('''SELECT
links
, titles
FROM experim
.articlescopy2
WHERE content
LIKE "%wordSearch%"''')# cur.execute('''SELECT
links
, titles
FROM experim
.articlescopy2
WHERE content
LIKE {}'''.format(wordSearch))# cur.execute('''SELECT
links
, titles
FROM experim
.articlescopy2
WHERE content
LIKE "%s"''' % wordSearch)# cur.execute('''SELECT
links
, titles
FROM experim
.articlescopy2
WHERE content
LIKE %s''', (wordSearch))# cur.execute('''SELECT
links
, titles
FROM experim
.articlescopy2
WHERE content
LIKE "%s"''' % (wordSearch,))Ничего не работает(..
Пришел к выводу, что с запросом к БД, - у меня все работает нормально.
Но, когда пробую выполнить запрос с параметром, - тут и начинаются ошибки.
Как понимаю, мне не хватает знаний (или понимания), как именно стоит задавать параметр в запросе, чтобы после правильной обработки запроса, я получил на выходе нужный результат (о котором писал выше).
Также, при вызове данных запросов выдает соответствующие ошибки (которые приводятся сразу после каждого запроса):
Тут, как вижу, ошибка в синтаксисе запроса...
# cur.execute('''SELECT
links
, titles
FROM experim
.articlescopy2
WHERE content
LIKE {%s}''' % wordSearch)# Failed to read data from table (1064, "You have an error in your SQL syntax;
# check the manual that corresponds to your MySQL server version for the right syntax to use near '}' at line 1")
А тут:
# cur.execute('''SELECT
links
, titles
FROM experim
.articlescopy2
WHERE content
LIKE %s''' % wordSearch)# Failed to read data from table (1054, "Unknown column 'Львів' in 'where clause'")
MySQL воспринимает искомое слово, как название колонки, и естественно, ругается
Принимаю любую обоснованную критику, без лишних эмоций)
P.S.:
Код функции
http://prntscr.com/qyjeno