Я хочу сравнить два datetime
переменная ведьма одна из них является текущей server time
и один из них хранится в mysql
База данных Я запускаю этот простой кусок кода, и он не будет работать и говорит, что это синтаксическая ошибка, мне интересно, что я могу сделать
<?php include("includes/student_session.php");?>
<?php confirm_logged_in();?>
<?php include("includes/connection.php");?>
<?php
date_default_timezone_set("");
$now_date=date("Y-m-d H:i:s");
$query1="select exam_id from exam where {$now_date} > start_date";
$result=mysqli_query($cnn,$query1);
if($result){
$row=mysqli_fetch_array($result);
echo $exam_id. "exists";
}else
{echo mysqli_error($cnn);}
?>
$query1="select exam_id from exam where {$now_date} > start_date";
$result=mysqli_query($cnn,@query1);
Я думаю, что ошибка в том, что вы используете @ insteal of $.
Также ваш запрос кажется неправильным. Вы должны сравнить значения с полями изменить его на
$query1="select exam_id from exam where start_date > '{$now_date}'";
$result=mysqli_query($cnn,$query1);
В этом коде:
$query1="select exam_id from exam where {$now_date} > start_date";
$result=mysqli_query($cnn,@query1); // <-
Ты используешь @query1
это должно быть $query1
,
Даже если исправить неправильный @query1
запрос не будет работать так $now_date
является строкой, и вы должны передать ее в запрос, как строку. Еще лучше, если вы отформатируете его с помощью функций mysql, а не с помощью php, а также сравните время, хранимое в базе данных, с собственным временем базы данных (тогда вы можете пропустить любые проблемы с часовым поясом). Итак, ваш запрос, например, может выглядеть так:
SELECT exam_id FROM exam WHERE DATEDIFF(NOW(), DATE_FORMAT(start_date,'%Y-%m-%d %T')) > 0;