数据库未更新

0 投票
1 回答
32 浏览
提问于 2025-04-14 16:30

代码

conn = mysql.connector.connect(
            host=HOSTNAME,
            user=USERNAME,
            passwd=PASSWORD,
            database=DATABASE
        )
        crsr = conn.cursor()
        upp1 = f"UPDATE `ord` SET `Status` = '{newstatus}' WHERE `ord`.`telgramname` = {tgname}"

        crsr.execute(upp1)
        conn.commit()
        crsr.close()
        conn.close()
        bot.send_message(message.chat.id, 'Статус обнавлен')

当我发送要公开的数据时,没有出现错误,但数据库中的状态列数据没有更新。

我不知道该怎么办。

1 个回答

1

你应该使用预处理语句,这样可以避免SQL注入攻击。

当然,你还需要检查一下这些值是否真的被设置了。

conn = mysql.connector.connect(
            host=HOSTNAME,
            user=USERNAME,
            passwd=PASSWORD,
            database=DATABASE
        )
cursor = cnx.cursor(prepared=True)
stmt = "UPDATE `ord` SET `Status` = %s WHERE `ord`.`telgramname` = %s"        
cursor.execute(stmt, (newstatus,tgname)) 

撰写回答