php:如何使用准备好的语句从sql数据库获取最新的日期时间?

标签 php mysql sql datetime prepared-statement

在下面的代码中,我尝试使用准备好的语句从充满电子邮件地址(全部相同)和日期时间的 SQL 表中仅获取最新的日期时间:

 $sql = "SELECT * FROM usertokens WHERE user_mail = ?;";
      //Create a prepared statement
      $stmt = mysqli_stmt_init($conn);
      //prepare prepared statement
      if (!mysqli_stmt_prepare($stmt, $sql)) {
        echo "SQL failed";
      } else {
        //Bind parameters to the placeholder
        mysqli_stmt_bind_param($stmt, "s", $email);
        //run params
        mysqli_stmt_execute($stmt);
        $result = mysqli_stmt_get_result($stmt);
        $resultCheck = mysqli_num_rows($result);
        if ($row = mysqli_fetch_assoc($result)) {       
            $dt = date_create_from_format('Y-m-d H:i:s', $row['user_date']);
             }}

目前它仅获取第一个条目。我如何选择最新的日期时间(并且我不想选择最低的条目)?该表将如下所示:

:---用户邮件---------用户日期---------
:------------------------------------------------------------------------
:---some@mail.com----2018-06-06 20:28:16
:---some@mail.com----2018-06-06 20:31:24
:---some@mail.com----2018-06-06 20:33:44

最佳答案

您可以使用 ORDER BYLIMIT为了实现这个目标:

$sql = "SELECT * FROM usertokens WHERE user_mail = ? ORDER BY user_date DESC LIMIT 1;";

关于php:如何使用准备好的语句从sql数据库获取最新的日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50727577/

相关文章:

Java - Hibernate 调用 MySql 存储过程 - 警告消息

mysql - 识别 SQL 中的模式。是否可以?

php - 在 Doctrine/PDO 中,如何获取 sql 查询列名

mysql - 我可以在单个 Amazon RDS 实例上创建多少个数据库

sql - 如何显示 DB2 SQL UDF 的源代码

mysql - 无法过滤掉 iReport 中的重复值

php - 可以访问键的array_map

javascript - 如何让 JavaScript 在 Bootstrap 弹出窗口内执行?

php - FILTER_VALIDATE_URL 是否过于严格?

php - 如何从脚本中创建新的 Joomla 用户帐户?