2017-01-30 6 views
0

Мое намерение с помощью приведенного ниже кода отображает разницу между двумя метками времени в секундах, но ничего не отображается вообще. I've добавил эхо $ ц для вас, чтобы увидеть, что $ т.с. содержит:PHP/MySQL пытается получить TIMESTAMPDIFF для вывода результата

$ts = $value['time']; 
echo $ts; 
$sql = "SELECT TIMESTAMPDIFF(SECOND,(CURRENT_TIMESTAMP),'$ts')"; 
$diff = mysql_query($sql); 
echo $diff; 

Результат:

2017-01-26 16:30:51 

Следовательно, это только показывает содержание $ ц, а не то, что разница во времени , Помогите с пониманием того, что я делаю неправильно, будет оценено, спасибо!

ответ

0

mysql_query() функция возвращает:

  1. Для SELECT, SHOW, DESCRIBE, EXPLAIN и другие заявления, возвращающиеся, mysql_query ResultSet() возвращает ресурс при успехе, FALSE при ошибке.

  2. Для других типов операторов SQL, INSERT, UPDATE, DELETE, DROP и т. Д. Mysql_query() возвращает TRUE при успешном завершении или FALSE при ошибке.

  3. Возвращенный ресурс результата должен быть передан 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); 
+0

Спасибо, но это ничего не показывало. –

+0

@CoreyHart, Является ли результат $ FALSE? –

+0

Нет, нет ничего плохого в печати. –

0

Использование только Php.

$datetime1 = strtotime($ts); 
$datetime2 = strtotime(date('Y-m-d H:i:s')); 
$interval = abs($datetime2 - $datetime1); 
echo 'Diff. in seconds is: '.$interval; 
+0

@CoreyHart, ошибка возникает снова? –

+0

К сожалению, мне нужно это для работы с mySQL. Это связано с тем, что я буду делать запрос, что только строки SELECTs из таблицы, в которых отметки времени