PHP: как получить новейшие datetime из базы данных SQL, используя подготовленный оператор? - PullRequest
0 голосов
/ 06 июня 2018

В следующем коде я пытаюсь получить только самые новые дату и время из таблицы 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']);
             }}

Вмомент он получает только первую запись.Как я могу выбрать самую новую дату (и я не хочу выбирать самую низкую запись)?Таблица будет выглядеть так:

: --- user_mail --------- 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

1 Ответ

0 голосов
/ 06 июня 2018

Вы можете использовать ORDER BY и LIMIT для достижения этой цели:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...