Size: a a a

Сообщество Python Программистов

2020 February 06

ЮЧ

Юрий 👨‍🔬 Чебышев in Сообщество Python Программистов
Сергій Математик програміст
Всем привет
)

Подскажите пожалуйста с таким вопросом:

Пишу функцию, которая должна брать входным параметром слово, которое ищется затем в БД, в одной из записей (в теле функции).
На выходе должны получить любую списочную структуру (список, кортеж, словарь;
Чтобы не усложнять, пусть будет список), которая будет содержать:
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
Я 6 экранов насчитал
источник

AM

Artur Mustafin in Сообщество Python Программистов
Бензофуран Гетероцикл
Я больше наебался с другим
В мане пидоры пример кривой написали
В моем мане косяк или в твоём, и что подправить надо
источник

ЮЧ

Юрий 👨‍🔬 Чебышев in Сообщество Python Программистов
Сергій Математик програміст
Всем привет
)

Подскажите пожалуйста с таким вопросом:

Пишу функцию, которая должна брать входным параметром слово, которое ищется затем в БД, в одной из записей (в теле функции).
На выходе должны получить любую списочную структуру (список, кортеж, словарь;
Чтобы не усложнять, пусть будет список), которая будет содержать:
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
Вопрос у тебя в "как добавить параметры в запрос %название базы данных%"?
источник

AM

Artur Mustafin in Сообщество Python Программистов
Сергій Математик програміст
Всем привет
)

Подскажите пожалуйста с таким вопросом:

Пишу функцию, которая должна брать входным параметром слово, которое ищется затем в БД, в одной из записей (в теле функции).
На выходе должны получить любую списочную структуру (список, кортеж, словарь;
Чтобы не усложнять, пусть будет список), которая будет содержать:
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
Я как раз с телефона, спасибо, жги ещё.
источник

ЮЧ

Юрий 👨‍🔬 Чебышев in Сообщество Python Программистов
Тебе ппц надо научиться сокращать свои мысли
источник

ЮЧ

Юрий 👨‍🔬 Чебышев in Сообщество Python Программистов
Юрий 👨‍🔬 Чебышев
Вопрос у тебя в "как добавить параметры в запрос %название базы данных%"?
*гуглится легко, в разных конекторах могут быть некоторые отличия
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Artur Mustafin
В моем мане косяк или в твоём, и что подправить надо
В публичном мане который на гите висит
источник

ЮЧ

Юрий 👨‍🔬 Чебышев in Сообщество Python Программистов
Artur Mustafin
Я как раз с телефона, спасибо, жги ещё.
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Там так тонко грят "вот юнит, допишите параметры"
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
И типа ебись как хочешь
источник

AM

Artur Mustafin in Сообщество Python Программистов
Не то слово. Как раз с телефона в самый раз. Надо попросить какую нибудь книгу запостить. Лутца , по странично. Удобно же читать
источник

%

%APPDATA% in Сообщество Python Программистов
@k4m454k ты фрилансер?
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
%APPDATA%
@k4m454k ты фрилансер?
Нет, он трудоустроен
источник

AM

Artur Mustafin in Сообщество Python Программистов
Сергій Математик програміст
Всем привет
)

Подскажите пожалуйста с таким вопросом:

Пишу функцию, которая должна брать входным параметром слово, которое ищется затем в БД, в одной из записей (в теле функции).
На выходе должны получить любую списочную структуру (список, кортеж, словарь;
Чтобы не усложнять, пусть будет список), которая будет содержать:
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
Есть такая библиотека Flask-Marshmallow, и вот там даже пример, "с линками на статьи", но ты не осилишь, если что спрашивай
источник

VA

Vadim Apenko in Сообщество Python Программистов
Нет, не фрилансер. Если только по фану
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Vadim Apenko
Нет, не фрилансер. Если только по фану
Это чем ты по фану фрилансишь?
источник

VA

Vadim Apenko in Сообщество Python Программистов
Бензофуран Гетероцикл
Это чем ты по фану фрилансишь?
Фотографией, сборкой/настройкой дронов, код иногда пишу
источник

KV

Konstantin Vinogradov in Сообщество Python Программистов
Бензофуран Гетероцикл
Там так тонко грят "вот юнит, допишите параметры"
там -> это где?)
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Konstantin Vinogradov
там -> это где?)
Мануал на гитхабе
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Тащ дядь Вадим
источник