【问题标题】:Insert dates in MySql database table?在 MySql 数据库表中插入日期?
【发布时间】:2012-02-18 22:04:48
【问题描述】:

我正在构建一个登录应用程序,我想存储用户注册的日期和最后一次登录日期以及最后一次登录 ip。

在创建表格时,我应该为这三列中的每一列赋予什么类型?

当我插入新的用户名和其他数据时,我将如何进行?

我应该使用PHP获取注册日期还是应该使用mysql的当前日期?

对于上次登录日期和ip,我该怎么做?

【问题讨论】:

    标签: php mysql date ip


    【解决方案1】:

    创建表时,我应该为这三个中的每一个指定什么类型 列?

    create_datelast_login_date 都设为DATETIMElast_login_ip 一个VARCHAR

    我应该使用 PHP 来获取注册日期还是应该使用 mysql 的 当前日期?

    这无关紧要,除非您被要求不使用 MySQL 特定功能。

    对于上次登录日期和ip,我该怎么做?

    当用户登录时,运行更新语句,用当前时间戳填充last_login_date,用$_SERVER['REMOTE_ADDR'] 的内容填充last_login_ip

    【讨论】:

    • 我明白了,这很有用。所以我会将register_datelast_login_date 设为日期(类型),但我对这两个的问题是:我应该在MySql 表中将它们的Attributes 设置为on update CURRENT TIMESTAMP 还是应该不理会它,并且至于他们的价值观,我应该补充什么,什么都没有?对于last_login_ip,它是表中的值,我应该将其留空吗?目前我的表中没有任何用户,所以我猜它不应该有任何价值。
    • 让他们DATETIME(不是DATE,这是mysql中的另一种类型)。手动更新日期(不是TIMESTAMP),例如UPDATE users SET last_login_date = NOW() WHERE id = 1。关于last_login_ip,是否要填充数据完全取决于您。
    • 另外我应该为register_datelast_login_date设置什么长度?
    • 这些是DATETIME 列。它们不需要长度。
    【解决方案2】:
    CreatedDate    : datetime
    LastLoginDate  : datetime
    LastLoginIp    : varchar(20)
    

    查看此链接以了解如何获取用户的 ip。 http://www.plus2net.com/php_tutorial/php_ip.php

    当用户尝试登录时,您会根据数据库检查用户名和密码,如果用户有效,则获取用户 IP 并更新您的表以将此 IP 地址作为“LastLoginIp”列的值。

    【讨论】:

      【解决方案3】:

      对于createdDatelastLoginDate 使用datetime 字段,对于IP 地址使用int 字段并通过PHP 的ip2long() 函数插入数据,请参阅PHP.net

      要检索数据,您可以在 MySQL 级别进行:

      SELECT INET_NTOA(ip) FROM 'log' WHERE
      

      要获取真实 IP 地址,您还需要检查代理:

      if (!empty($_SERVER['HTTP_CLIENT_IP'])){
        $ip=$_SERVER['HTTP_CLIENT_IP'];
      //Is it a proxy address
      }elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
        $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
      }else{
        $ip=$_SERVER['REMOTE_ADDR'];
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-11
        • 2013-04-27
        • 2016-04-11
        • 1970-01-01
        相关资源
        最近更新 更多