javascript - 当我想更新数据库中的行时,更新查询会挂起我的网站
问题描述
我在更新 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;
}
解决方案
推荐阅读
- java - 如何在 IntelliJ 的项目结构中设置默认 Java 版本?
- javascript - Protractor JS 无法点击 HREF
- python - 根据 NULL 值将计算列添加到 pandasdataframe
- c++ - C ++以相同的方式排列两个向量
- windows - 批处理脚本不会使用用户输入删除 Temp 文件夹的内容
- sql - Spark sql 已解决异常:运算符中缺少属性!项目
- javascript - 使用 vuejs 获取树的特定节点的详细信息
- sql-server - '实体类型'HierarchyId'需要定义一个主键。如果您打算使用无密钥实体类型,请调用“HasNoKey()”。
- c# - 跨多个列的唯一实体框架
- javascript - 如何在javascript中返回任务end_date为真的日期