return None python

234
04 марта 2018, 21:57

У меня есть функция, которая из БД берет определенную строку и возвращает id, но функция возвращает не id, как задумывалось, а None. В чем проблема?

Data Base

class DataBase:
    def __init__(self, user, password, db):
        self.user = user
        self.password = password
        self.db = db
        try:
            conn = self.get_conn()
            # if conn.is_connected():
            #     print('Подключение прошло успешно.')
        except Error as e:
            print(e)
    def get_conn(self):
        conn = mysql.connector.connect(user=self.user,
                                       password=self.password,
                                       db=self.db)
        return conn
    def get_subcategory_id(self, title):
        sql = "SELECT id FROM buy.subcategory WHERE title = '{0}';".format(title)
        conn = self.get_conn()
        c = conn.cursor()
        c.execute(sql)
        id = c.fetchall()
        return (id)

Code python

class Tesco:
    def write_database(self, data):
        data_base = db.DataBase('root', '123456', 'buy')
        data_base.get_subcategory_id(data['title'])
    def get_products(self, html):
        soup = BeautifulSoup(html, 'lxml')
        name_sub_category = soup.find('span', class_='plp--breadcrumbs--last-crumb').text
         data = {
             'title': name_sub_category
         }
        print(self.write_database(data))
Answer 1

return отсутствует? Надо что-то вроде:

def write_database(self, data):
    data_base = db.DataBase('root', '123456', 'buy')
    return data_base.get_subcategory_id(data['title'])
Answer 2

Попробуй такую конструкцию

cursor.execute(sql, ())
for field in cursor:
    print("found: ", fields)

Должно сработать, у меня сработало.

READ ALSO
Операнд > невозможно применить к типу string и string

Операнд > невозможно применить к типу string и string

Я начинающий программист, что мне нужно сделать, чтобы не было ошибки ?

186
Получение корневого родителя элемента

Получение корневого родителя элемента

Существует такая иерархия

217
Как завершить сессию Windows 8.1 и зайти под другим пользователем в .NET?

Как завершить сессию Windows 8.1 и зайти под другим пользователем в .NET?

Имеется Windows 81 необходимо чтобы программа завершила сеанс под тем пользователем, под которым она находится и зашла в систему под другим, чтобы...

218