Мое намерение с помощью приведенного ниже кода — отобразить разницу между двумя временными метками в секундах, но ничего не отображается вообще. Я добавил echo $ ts, чтобы вы увидели, что содержит $ ts:
$ts = $value['time'];
echo $ts;
$sql = "SELECT TIMESTAMPDIFF(SECOND,(CURRENT_TIMESTAMP),'$ts')";
$diff = mysql_query($sql);
echo $diff;
Результат:
2017-01-26 16:30:51
Следовательно, он показывает только содержание $ ts, а не разницу во времени. Спасибо за помощь в понимании того, что я делаю неправильно, спасибо!
Функция mysql_query () возвращает:
Для SELECT, SHOW, DESCRIBE, EXPLAIN и других операторов, возвращающих набор результатов, mysql_query () возвращает ресурс в случае успеха или FALSE в случае ошибки.
Для операторов SQL другого типа INSERT, UPDATE, DELETE, DROP и т. Д. Mysql_query () возвращает TRUE в случае успеха или FALSE в случае ошибки.
Возвращенный ресурс результата должен быть передан mysql_fetch_array () и другим функциям для работы с таблицами результатов, чтобы получить доступ к возвращенным данным.
Таким образом, вы можете попробовать следующее:
$con = mysql_connect("localhost", "root", "mypass") or
die("Could not connect: " . mysql_error());
mysql_select_db("tutorials");//**your database name**//
$sql = "SELECT TIMESTAMPDIFF(SECOND,(CURRENT_TIMESTAMP),'$ts') as timestamp";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf("diff: %s", $row[0]);
}
mysql_close($con);
Использование только Php.
$datetime1 = strtotime($ts);
$datetime2 = strtotime(date('Y-m-d H:i:s'));
$interval = abs($datetime2 - $datetime1);
echo 'Diff. in seconds is: '.$interval;