0

Post メソッドを使用して時間と分を取得し、それを mysql DB に保存するフォームを使用しています。

そのような :

$hour = $_POST['hour'];
$minute = $_POST['minute'];

** 年月日は必要ありません。テーブルの列に時間と分を格納するだけです (ex: Exam_time)

列構造: Exam_time 時刻 NOT NULL

次に、mktime() 関数を使用してこれらの値をデータベースに格納する方法を説明します。試してみましたが、フォームで送信したものではなく、00:00:00 が保存されます。

4

4 に答える 4

2

mktime()date()getdate()すべて UNIX タイムスタンプを処理します。

あなたの場合、時間と時間の2つの別々のフィールドがあります。mySQL の TIME 列は UNIX タイムスタンプを処理しないため、上記の関数は使用しないでください。

範囲は「-838:59:59」から「838:59:59」です。MySQL は TIME 値を 'HH:MM:SS' 形式で表示しますが、文字列または数値を使用して TIME カラムに値を割り当てることができます

したがって、これによれば、次のように新しい時間値を挿入することができます。

"INSERT INTO mytable ( exam_time ) VALUES ( '" . $hour . ":" . $minute . "' )"
于 2012-11-12T11:08:38.707 に答える
2

http://php.net/manual/en/function.mktime.phpmktimeの目的を混乱させていると思います。

mktimeUNIX タイムスタンプを表す整数値を返します。

時間値を保存する必要がある場合は、dateまたはgetdate関数を使用して、入力を必要な値にフォーマットします。

于 2012-11-12T10:57:33.490 に答える
1

スクリプトは正しいと思いますが、MySQL列を?DATEではなくに設定しました。DATETIME

于 2012-11-12T11:01:26.047 に答える
0

TIME_ZONE_SET (あなたのゾーン) を使用してから、MYSQL で選択された DATETIME を使用して、exam_time VALUES (" '.date("H").' ", "'.date("i").'") に (時間、分) を挿入します。データベース。

于 2012-11-12T11:23:46.867 に答える