php - 使用 PHP/AJAX 实时监控 MySQL 表的变化
问题描述
聊天室传奇中的另一个帖子。我正在开发一个类似于 Discord 的 PHP 聊天应用程序,它使用数据库来存储消息。问题是,目前我只在一个刷新循环中使用它,当有人连接到该站点时,它使用了太多的 RAM。我正在尝试构建一种会刷新页面的 mysql 观察程序,但仅在更新表时。问题是我不知道从哪里开始,我想我可以用 AJAX 做到这一点,但我是一个完全的 Java 菜鸟。到目前为止,我有这个:
$host = 'localhost:3306';
$username = 'root';
$password = 'root';
$database = 'sys';
$conn = new PDO("mysql:host=$host;dbname=$database", $username, $password);
$query = "select sent_time from messageTable order by id desc limit 1";
$current = $conn->query($query);
while (TRUE) {
$newQuery = "select sent_time from messageTable order by id desc limit 1";
$newCurrent = $conn->query(newQuery);
if ($newCurrent != $current) {
header("Refresh:0");
}
sleep(1);
}
由于某种原因,这不起作用。我怎么能解决这个问题?非常感谢所有帮助!
解决方案
推荐阅读
- firebase - 无法从 Firebase 返回查询的数据(Flutter/Dart)
- python-3.x - 尝试使用 PILLOW 和 EOG 图像查看器显示图像时出错
- google-bigquery - 在 BigQuery Storage API 的 python 客户端库中,bigquery_storage_v1beta1* 模块包含什么?
- cefsharp - 使用 CefSharp 浏览器使用 Google Meet
- postgresql - 将带有 json 数组的 CSV 复制到 Postgresql
- node.js - 如何使用 express-session 在 node.js 上设置 presistent cookie?
- arrays - 匹配列中的单元格,然后从两个不同的选项卡中减去一个值
- scikit-learn - TPOT:TPOTRegressor 显示名称错误
- scala - Akka 和测试用例
- django-rest-framework - Django REST Framework:尝试从序列化器方法字段中使用 serializer.data 构造时出现“NoneType 对象不可迭代”错误?