簡體   English   中英

PHP / MySQL試圖讓TIMESTAMPDIFF輸出結果

[英]PHP/MySQL trying to get TIMESTAMPDIFF to output a result

我使用以下代碼的目的是以秒為單位顯示兩個時間戳之間的差異,但是什么也沒有顯示。 我添加了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()函數返回:

  1. 對於SELECT,SHOW,DESCRIBE,EXPLAIN和其他返回結果集的語句,mysql_query()成功時返回資源,錯誤時返回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);

僅使用PHP。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM