Я хочу оценить с помощью подготовленного оператора php mysqli, будет ли столбец даты и времени истечения более чем равен дате Now()
, прежде чем возвращать имя пользователя в столбце имени.Но я получаю неверный результат с php, когда expire_date
2019-09-27 01:00:00 и Now()
2019-09-26 23:58:02 я получаю false.Что странно, я получаю желаемый результат, когда набираю запрос в терминале.
Использование только запросов Sql:
mysql> SELECT IF(Now()<=expire_date, for_user, 'false') FROM forgottenleafttokens WHERE(for_user='herm' AND pass_token='9c3d5eee11f1c7cacdf676b46df87bccb650783d66afc62aee2b7f6e9382aade4ca4e1840896f788b4cff4342b4dec0842f3c577f5f61bf17fd538c7f34ca69a');
+-------------------------------------------+
| IF(Now()<=expire_date, for_user, 'false') |
+-------------------------------------------+
| herm |
+-------------------------------------------+
1 row in set (0.00 sec)
Использование php:
$query = "SELECT IF(Now()<=expire_date, for_user, 'false') FROM forgottenleafttokens WHERE(for_user=? AND pass_token=?)";
$stmt = $db->prepare($query);
$stmt->bind_param('ss', $us_er, $tok_en);
$stmt->execute();
$stmt->bind_result($user);
$result = "";
if ($stmt->num_rows > 0) {
while ($stmt->fetch()) {
$result = $user;
} return $result;
} else {
return false;
}
Может кто-нибудь подсказать, что не так с моим утверждением php подготовленным, которое я используюс запросом Sql?