Форум сайта python.su
0
Доброго времени!
Версия интерпритатора: Python 2.6.6 (r266:84292, Dec 27 2010, 00:02:40) Платформа Linux.
Я новичок поэтому вопрос думаю будет не сложным для присутствующих )
Пробую делать простой селект с базы (mysqldb 5.1) , самый простой, вида:
cursor.execute(“SELECT %s FROM %s”, (r_users, r_table))
results = cursor.fetchall()
получаю ошибку
“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 ‘'resellers’' at line 1”)
второе что не очень то получается без дополнительных костылей, если я делаю явный селект в лоб вида:
cursor.execute(“SELECT name_user FROM users”)
results = cursor.fetchall()
получаю лист (масив) вида ((user1,), (user2,), (user3,))
что для меня есть не очень гуд, т.к. необходимо этот список сравнить с другим списком, можно как то и это обойти? Тоесть получать эту выборку в список в стандартном виде .
Буду очень спасибо!
Отредактировано (Фев. 21, 2012 22:23:14)
Офлайн
1
check the manual that corresponds to your MySQL server version for the right syntax to use near ‘'resellers’' at line 1"Те ли значения хранятся в r_users, r_table? Попробуйте сделать, чтобы явно увидеть sql запрос:
print "SELECT %s FROM %s"%(r_users, r_table)
results=[user for (user,) in cursor.fetchall()]
Офлайн
72
belodemonПотому что биндинг execute выполняет только для параметров запроса, например
Пробую делать простой селект с базы (mysqldb 5.1) , самый простой, вида:
cursor.execute(“SELECT %s FROM %s”, (r_users, r_table))
results = cursor.fetchall()
получаю ошибку
“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 ‘'resellers’' at line 1”)
Офлайн
0
Уважаемые! Огромное человеческое! Поправил:
cursor.execute(“SELECT %s FROM %s” % (r_users, r_table))
results =
Получаю полную красоту!
Офлайн