Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Базы данных > MySQLdb вывод результата row['name'] а не row[0]


Автор: americanets 23.12.2008, 10:59
Код

conn = MySQLdb.connect (
                        host = "localhost",
                        user = "root",
                        passwd = "root",
                        db = "testdb"
                       )
cursor = conn.cursor()
cursor.execute ("SELECT * from pages")
while (1):
    row = cursor.fetchone ()
    if row == None:
     break
    print text + "id - %s, title - %s" % (row[0], row[3]) + '\n\n'


выводит нормально, но как сделать чтоб обращатся к данным можно было так row['id'], row['title'] ?  

Автор: pythonwin 23.12.2008, 11:07
посмотри cursor.description

Автор: americanets 23.12.2008, 11:43
pythonwin, спасибо 

Код

conn = MySQLdb.connect (
                        host = "localhost",
                        user = "root",
                        passwd = "root",
                        db = "testdb",
                        cursorclass=MySQLdb.cursors.DictCursor
                       )
cursor = conn.cursor()
cursor.execute ("SELECT * from pages")
rows = cursor.fetchall()
    rows = list(rows)
    for row in rows:
        print row['title'] +'\n\n'

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)