在下面的代码中,我尝试使用准备好的语句从充满电子邮件地址(全部相同)和日期时间的 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 BY和 LIMIT为了实现这个目标:
$sql = "SELECT * FROM usertokens WHERE user_mail = ? ORDER BY user_date DESC LIMIT 1;";
关于php:如何使用准备好的语句从sql数据库获取最新的日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50727577/