Я сейчас работаю над изучением Python, и я уже застрял в странной проблеме.Python/MySQL Select возвращает None с% s
Я получаю URL-адреса с сайта beautifulsoup, который я уже могу сохранить в базе данных mysql. Теперь я хочу, чтобы сценарий сначала проверял, находится ли обходной URL уже в базе данных.
Запрос выглядит следующим образом:
check_url = "SELECT url FROM shop_ig " \
"WHERE url = '%s'"
Здесь я получаю URL:
soup = BeautifulSoup(plain_text, "html.parser")
for link in soup.findAll('a', {'class': 'ig-preorders-item'}):
href = link.get('href')
print(href)
Теперь, когда у меня есть URL, я хотел бы проверить, если HREF уже в базе данных поэтому я выполняю запрос, используя:
## Check if url is in db
cursor.execute(check_url, href)
data = cursor.fetchone()
sqlconnect.commit()
Теперь, к странной вещи, данные возвращают Нет, однако, если я вхожу url постоянно в запросе находит url в базе данных.
вы можете печатать cursor._executed? – eyalsh
yes, that return b "SELECT url FROM shop_instantgaming WHERE url = '% s'" – Nolibert
'cursor.execute (check_url, (href,))' вместо 'cursor.execute (check_url, href)'. – alecxe