需要获取信息,EndDate 是否过期(EndDate 是行,其中键入了有关购买用户保费日期的信息)
connectuser2db();
$bile_sql = "SELECT EndDate FROM tbl_rfuser WHERE Serial = '" . $userdata['serial'] . "'";
if (!($bile_result = mssql_query($bile_sql))) {
echo "Unable to select query the Billing table";
exit;
}
$bilel = mssql_fetch_array($bile_result);
$userdata['Enddate'] = $bilel['EndDate'];
$t_logd = $bilel['EndDate'];
echo $t_logd;
结果如 Jul 14 2020 02:36:00:000PM(如果 EndDate 为 smalldatetime 数据类型)
$time = date("Y-m-d H:i:s");
echo $time;
结果如 2020-07-15 14:51:21
如果我在这一行中使用 $time,它会将 enddate 更新为当前时间:
$t_login = $userdata["lastlogintime"]; // last user login in game (from mssql) Jul 15 2020 02:36:00:000PM
$t_logd = $bilel['EndDate']; // Premium EndDate (from mssql) Jul 14 2020 02:36:00:000PM
$time = date("Y-m-d H:i:s"); // current time (from php) like 2020-07-15 14:51:21
if( $t_logd <= $t_login )
{ connectuser2db();
$user_update = "UPDATE tbl_rfuser SET EndDate='" . $time . "' WHERE Serial= '" . $userdata["serial"] . "'";
mssql_query($user_update); }
它成功地比较了“lastlogin”和“enddate”,如果帐户是新帐户或用户在 EndDate 过期之前上次在线 - 将 EndDate 更改为当前时间,则成功从 $time 开始。但是如果用户在 EndDate 之后登录,它就不起作用
想要这个比较:
if( $t_logd <= $t_login ) //working now
更改为比较:
if( $t_logd <= $time ) // not working now
请帮助我如何从 mssql 获取当前时间或更改 $time 可以比较的东西?尝试了strtotime,但做不到(sql server以毫秒为单位检查,但我的php老了,不能使用日期(“Ymd H:i:s:v”)格式)