2011-11-30 408 views
1

我在PHP页面上有一个JavaScript定时器。它返回一个数字,代表秒,我想插入Time类型的数据库列。我怎样才能做到这一点?以HH:MM:SS格式插入秒数据库

此代码是最好的我能找到的:

$query = "INSERT INTO #__quiz_r_student_question (c_stu_quiz_id, 
                c_question_id, 
                c_score, 
                c_attempts, 
                is_correct, 
                time_to_solve 
               )" . 
     "\n VALUES('".$stu_quiz_id."', 
        '".$quest_id."', 
        '".$c_quest_score."', 
        '".($c_quest_cur_attempt + 1)."', 
        '".$is_correct."', 
        DATEADD(ms, ".$time_to_solve."* 1000, 0) 
        )"; 
+1

没有标准的SQL方法来做你想做的事情。这取决于您使用的DBMS,因此您应该告诉我们您正在使用哪一个。 –

+0

您使用的是哪种数据库平台? SQL Server?甲骨文? MySQL的? Btrieve的? –

+0

我正在使用MySql –

回答

3

这个答案最初发布由提问者作为编辑的问题。

我解决了我的问题与PHP,而不是SQL查询。我用这个代码来改变我的秒值转换成可读的时间准备数据库插入:

$time = gmdate('H:i:s',$time_to_solve) 
2

您可以使用SEC_TO_TIME功能。看看这个脚本 -

CREATE TABLE table_time(
    column1 TIME DEFAULT NULL 
); 

INSERT INTO table_time VALUES(SEC_TO_TIME(3600)); 

SELECT * FROM table_time; 
+----------+ 
| column1 | 
+----------+ 
| 01:00:00 | 
+----------+