2014-01-18 94 views
0

我正在從事一項博士調查,該調查必須跟蹤參與者通過Web屏幕上的過程工作的時間。時間只是一切必要的。我設置了數據庫以跟蹤預定義用戶的集合,開始時間(如日期時間類型)和結束時間(如日期時間類型)。當參與者打開屏幕時,會顯示一個模式表單,需要點擊一個按鈕才能激活表單提交。此表單提交應該更新服務器數據庫上用戶行的開始時間。以下是代碼:如何更新服務器數據庫上的utc時間戳

<?php 
if ($_POST['time']) { 
$time= UTC_TIMESTAMP(); 
$sql = "UPDATE `response` SET `screen1_start`=($time) WHERE `id`= 100102"; 
$result = mysql_query($sql); 
} 
?> 

<form action="" method="post"> 
Time</label> <input type="time" name="time" > 
<br> 
<input type=submit value="Click Here to Begin"> 
</form> 

它不起作用。任何幫助或建議,將不勝感激。

謝謝。

+1

定義「不起作用」......它是否顯示任何錯誤;它會在數據庫中插入一個無效值,或者根本沒有值;它會踢貓嗎?你甚至有數據庫連接?你通常使用MySQL函數而不是PHP函數嗎? –

+0

您必須添加更多詳細信息,例如@MarkBaker說,爲什麼它不起作用。 – nKn

+0

''UPDATE response SET screen1_start = UTC_TIMESTAMP()WHERE id = 100102「;' –

回答

0

就我所知,您正在從PHP調用SQL函數。 你有兩個選擇:

  1. 更換了一個PHP函數,做同樣的事情,即gmdatehttp://be2.php.net/gmdate)您UTC_TIMESTAMP(假設UTC和GMT是一樣的)。在您的代碼:

    $time = gmdate();

  2. 使用UTC_TIMESTAMP在你的SQL調用,而不是在PHP(這可能是你想做的事)。在您的代碼:

    $time= "UTC_TIMESTAMP()";

此外,要知道在執行每個句子此刻的差異。第一個在PHP調用被解析時運行,第二個在SQL查詢執行時運行。

相關問題