首页 > 解决方案 > 使用 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);
}

由于某种原因,这不起作用。我怎么能解决这个问题?非常感谢所有帮助!

标签: phpmysqlajax

解决方案


推荐阅读