I want to compare two datetime
variable witch one of them is current server time
and one of them is stored in mysql
database i am running this simple piece of code and it wont work and says it is a syntax error i am wondering what can i do
<?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);
I think the error is because you are using @ insteal of $. Also your query seems to be wrong. You should compare values with fields change it to
$query1="select exam_id from exam where start_date > '{$now_date}'";
$result=mysqli_query($cnn,$query1);
In this code:
$query1="select exam_id from exam where {$now_date} > start_date";
$result=mysqli_query($cnn,@query1); // <-
You are using @query1
, this should be $query1
.
Even if correct the misstype of @query1
the query will not work like this. $now_date
is a string and you have to pass it to the query like a string. Even better if you format it with mysql's functions, not with php's one as well as compare time stored in database with database's own time (then you can skip any timezone problems). So, your query, for example, could be like this:
SELECT exam_id FROM exam WHERE DATEDIFF(NOW(), DATE_FORMAT(start_date,'%Y-%m-%d %T')) > 0;