在pycharm运行程序的时候调用数据库报错
**问题相关代码:
**
def get_user_items(table_name):
sql = 'select `用户`,`索引` from %s'%table_name
result = select_data(sql)
data = {}
for i in result:
data.setdefault(str(i['用户']),[])
data[str(i['用户'])].append(str(i['索引']))
# print(data)
return dict(data)
然后调用select函数,这个函数写在另一个文件里,如下
def select_data(sql):
db = connect_db()
cursor = db.cursor()
cursor.execute(sql)
result = cursor.fetchall()
db.commit()
db.close()
desp_list = [i[0] for i in cursor.description] # 获取字段列表
data = []
for i in result:
data.append(dict(zip(desp_list,i)))
return data
运行结果及报错内容
Traceback (most recent call last):
File "C:/Users/86181/Desktop/trip-main/trip-python/utils/action.py", line 53, in <module>
artical_item_base_data = get_item_base_data('artical_action')
File "C:/Users/86181/Desktop/trip-main/trip-python/utils/action.py", line 22, in get_item_base_data
pre_data = get_user_items(table_name)
File "C:/Users/86181/Desktop/trip-main/trip-python/utils/action.py", line 9, in get_user_items
result = select_data(sql)
File "C:\Users\86181\Desktop\trip-main\trip-python\utils\dbutils.py", line 28, in select_data
cursor = db.cursor()
AttributeError: 'str' object has no attribute 'cursor'
连接数据库出错
object supporting the buffer API required
进程已结束,退出代码为 1
我的解答思路和尝试过的方法
本地数据库已经连接上了,但是跑到这里就会突然报错,本人猜测可能是数据库内表的参数设置的不匹配。但是为什么是游标报错呢?
我想要达到的结果
刚学数据库和python不久,求答主指导细一点谢谢啦