php - 删除保存在数据库中的访客 session 的数据库记录

标签 php mysql

可能这是一个常见问题,但我需要更清楚的解释才能解决它。

我有一个数据库为每个访问者的 session 创建新记录。同时,在创建记录时,我输入了IP地址和时间。

问题:

当访问者离开或关闭浏览器并再次访问时,他们会带来新的记录,并且以前的记录仍然存在于数据库中。我每次都需要手动删除以节省存储空间。

php 创建记录:

public function SaveVisitorData() {

    $ses_id = session_id();
    $ip = $_SERVER['REMOTE_ADDR'];
    $timer  = date("Y-m-d H:i:s");  

    $query  = $this->db->prepare("INSERT INTO `visitors`(`session`, `ipaddress`, `timer`) VALUES (?,?,?)");
    $query->bindValue(1, $ses_id);
    $query->bindValue(2, $ip);
    $query->bindValue(3, $timer);

    try {
    $query->execute();

    } catch(PDOException $e){
        die($e->getMessage());
    }
}

如何处理$_COOKIE?

最佳答案

只需使用 mysql 删除查询并删除时间早于一天的所有记录?

mysqli_query($con,"DELETE * FROM myTable WHERE dateEntered < DATE_SUB(NOW(), INTERVAL 1 DAY);");

关于php - 删除保存在数据库中的访客 session 的数据库记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24125805/

相关文章:

javascript - Bootstrap.min.js 的 src 不工作

MySql 只授予读取某些内容而不是整个表的权限

mysql - 无法使用mysql设置grafana模板

php - Mysql ON DUPLICATE KEY 错误

mysql - 如何在按周分组的mysql查询中以数组形式返回每周数据?

php - 使用多个 DISTINCT 连接 2 个表

php - 在 Phing(和 Ant)构建脚本中选择属性

php - mysqli_query() 和 mysqli_real_escape_string() 期望参数 1 为 mysqli,给定为 null

php - jQuery 单击事件更改 php session 变量

Java MySQL JDBC 内存泄漏