首页 > 解决方案 > 当我想更新数据库中的行时,更新查询会挂起我的网站

问题描述

我在更新 mysql 表中的行时遇到问题。我目前在社交媒体网站上工作。有一个通知表,我们有所有用户通知。例如“约翰喜欢你的帖子,萨拉评论了你的帖子”就像这样

表结构如下。

在此处输入图像描述

如您所见,我有一列“ IsRead ”。如果用户单击“全部标记为已读按钮”,则会执行查询。

UPDATE notification SET isRead = 1 WHERE toUser = $id

当我执行此查询时,大约需要 2 分钟或以上,最后它说与服务器的连接已丢失。错误快照附在下面

在此处输入图像描述

请建议我创建通知表的正确方法是什么。上面给出了我创建的表结构。

这是我的 JavaScript 代码:

function markAsRead(){
$('.notifications-area').html('<li><center>Noting to display</center></li>');
$('.list-notification').html('<li><center>Noting to display</center></li>');
$('#countNotifications').html(0);
$('#countNotifications1').html(0);
$.ajax({
        type: 'ajax',
        method:'POST',
        url: "<?php echo site_url()?>/Main/markAsRead",
        datatype:"JSON",
        success:function(responce)
        {   
            
        },
        error:function(e)
        {
           console.log(e);
        }
    });
}

我的控制器:

public function markAsRead(){
    
    $data=$this->m->markAsRead();
     echo json_encode($data);
}

模型:

public function markAsRead(){
    $userid = $this->session->userdata('userid');
    $query = $this->db->query("UPDATE notification SET isRead = 1 WHERE toUser = $userid and isRead = 0");
    return $query;
}

标签: javascriptphpmysqlajaxcodeigniter

解决方案


推荐阅读