Javascript 当我想更新数据库中的行时,更新查询将挂起我的网站

Javascript 当我想更新数据库中的行时,更新查询将挂起我的网站,javascript,php,mysql,ajax,codeigniter,Javascript,Php,Mysql,Ajax,Codeigniter,我在更新mysql表中的行时遇到了一个问题。我目前在社交媒体网站工作。有一个通知表,其中包含所有用户的通知。 例如 “约翰喜欢你的帖子,萨拉对你的帖子发表了评论”就像这样 表结构如下所示 如您所见,我有一列“IsRead”。如果用户单击“将所有标记为已读按钮” 执行查询 UPDATE notification SET isRead = 1 WHERE toUser = $id 当我执行此查询时,大约需要2分钟或更长的时间,最后它会显示与服务器的连接已断开。错误捕捉附在下面 请告诉我创建通知

我在更新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(){
    $userid = $this->session->userdata('userid');
    $query = $this->db->query("UPDATE notification SET isRead = 1 WHERE toUser = $userid and isRead = 0");
    return $query;
}

共享您的代码,因为这很可能是您代码中的一个错误。您不需要更新已读取的行-因此您可以执行
操作,其中toUser=$id和isRead=0
@Luuk请检查您应该读取的代码该表中有多少条记录?您是否检查了值
$userid
是否正确?
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;
}