flask连接mysql老出错呢_访问MySQL connection out-of-Flask方法时出现问题

我正在开发一个Flask应用程序,其中集成了MySQL(Flask mysqldb)和MQTT(Flask MQTT)。我可以用烧瓶法进行任何分贝操作(例如。

@app.route('/')

),但如果在接收到消息时尝试从MQTT方法执行此操作(例如。

@mqtt.on_message()

)它什么也做不了。最后一个方法工作得很好,因为它接收并在日志中显示接收到的消息。

我有一个执行DB操作的方法,根据我从哪里调用它,它是否工作。我想应该是因为MySQL对象,但我不太清楚。

下面是我正在使用的代码(只是问题):

@mqtt.on_message()

def handle_mqtt_message(client, userdata, message):

print('New message {}'.format(message.payload.decode()))

storeDB('test') #Here it doesn't work

################## Methods ###########################

def storeDB(param_text):

cur = mysql.connection.cursor()

cur.execute(

'INSERT INTO contacts (fullname, phone, email) VALUES (%s,%s,%s)', (param_text, param_text, param_text))

mysql.connection.commit()

###################### FLASK #########################

@app.route('/')

def index():

storeDB('temp') #Here it works

return 'Hello World'

如果我能接触到

localhost

它在浏览器中显示“Hello World”文本并更新数据库;否则,如果收到MQTT消息,它将显示在终端上,但不会更新数据库。

谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值