通过LIMIT 1获取最后一次登录-PHP和MYSQL

通过LIMIT 1获取最后一次登录-PHP和MYSQL,php,mysql,Php,Mysql,在我的用户帐户上,我有一个“上次登录”部分,显示以下内容: <?php $getLog = "Select * from tblUserLogs where UserID = $id ORDER BY LogID DESC limit 1"; $loadLog = mysql_query($getLog); while($Logs = mysql_fetch_array($loadLog)){ $ID = $Logs['id'];

在我的用户帐户上,我有一个“上次登录”部分,显示以下内容:

<?php
     $getLog = "Select * from tblUserLogs where UserID = $id ORDER BY LogID DESC limit 1";
     $loadLog = mysql_query($getLog);
     while($Logs = mysql_fetch_array($loadLog)){
         $ID = $Logs['id'];
         $LastLogin = date('F j, Y, g:i a', strtotime($Logs['LastLog']));
         //$myLast = date('F j, Y, g:i a', $LastLogin);
         echo "<small>".$LastLogin."</small>";
    }
?>

但是,它会显示当前登录日期和时间


应该怎么做?它应该是限制2,并显示最小的主键。有没有办法在mysql语句中执行此操作?

我认为您要查找的是偏移量,因此避免使用第一个条目

LIMIT 1, 1
带有where(如果表中有日期列)

从tblUserLogs中选择*
其中UserId=
和罗吉恩代特
按loginDate DESC订购
或者使用
限制1,1
(跳过一个,取一个)

检查此答案并更改查询

$getLog = "Select * from tblUserLogs where UserID = $id ORDER BY LogID DESC limit 1,1";

如果在查询中使用
orderbylastlog
,该怎么办?否则,请共享表结构以构建更好的查询。当前登录是您的最后一次登录。您希望得到什么?应该是$id吗?这不是php代码,只是带有伪变量的纯SQL。您的情况是正确的,您需要
$id
。但是,这一点我再强调也不为过:使用参数化查询抱歉,我解释得不够充分-它将用第一个数字的数量来抵消数据。通常情况下,它将其视为0,因此它开始限制返回的第一条记录中的数据。如果将偏移量设置为1,它将从第一条记录开始,然后限制为1,基本上给出第二个结果。
$getLog = "Select * from tblUserLogs where UserID = $id ORDER BY LogID DESC limit 1,1";