首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP和MySQL -如何使用order by desc和limit 1更新单表中的单行

问PHP和MySQL -如何使用order by desc和limit 1更新单表中的单行
EN

Stack Overflow用户
提问于 2017-06-27 16:10:35
回答 1查看 82关注 0票数 0

大家好,实际上我正在尝试维护ip的用户日志,用户的上次登录时间和上次注销时间,在php和mysql中工作。用户登录时成功存储ip和登录时间,但在注销时更新注销时间,同时更新同一用户id的所有注销时间,我只想更新用户id的最后一次注销时间,无论他是否登录了任何次数。有没有人能帮助我呢?

我的代码是-

代码语言:javascript
复制
if (isset($_SESSION['userId']) && !empty($_SESSION['userId'])) {
    include "connection.php";
    $userId = $_SESSION['userId'];

    $sqluserlogs = "UPDATE userlogs SET LastLogout = now()
    WHERE uid = '$userId' ORDER BY uid DESC LIMIT 1";

    if (mysql_query($sqluserlogs, $conn)) {
        //echo 'success';
    } else {
        //echo 'failed';
    }
}

更新的查询-

代码语言:javascript
复制
  $sqluserlogs = "UPDATE userlogs SET LastLogout = now() WHERE
   uid = '$userId' ORDER BY ulogID DESC LIMIT 1";

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2017-07-04 15:12:33

尝试联接:

代码语言:javascript
复制
 "UPDATE userlogs AS UpdateTable
     INNER JOIN (
         SELECT JoinTable.id
         FROM userlogs AS JoinTable
         WHERE JoinTable.uid = '$userId'
         ORDER BY uid DESC
         LIMIT 1) 
                 AS source ON source.id = UpdateTable.id
    SET LastLogout = now()";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44775228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档