Mysqlのdatetimeフィールドに日付と時刻を挿入しようとしています。ユーザーが日付と時刻を選択すると、2つのPOST変数が生成されます。インターネットを検索しましたが、その方法がわかりません。
私のコード。
//date value is 05/25/2010
//time value is 10:00
$date=$_POST['date'];
$time=$_POST['time'];
$datetime=$date.$time
$ datetimeをmysqlに挿入すると、日付は0000-00-00:00:00:00のように見えます
誰かがこれについて私を助けることができれば私はそれを感謝します。ありがとう。
$datetime = $_POST['date'] . ' ' . $_POST['time'] . ':00';
$datetime = mysql_real_escape_string($datetime);
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')";
より多くのフォーマットを処理できる代替ソリューション:
$datetime = $_POST['date'] . ' ' . $_POST['time'];
$datetime = mysql_real_escape_string($datetime);
$datetime = strtotime($datetime);
$datetime = date('Y-m-d H:i:s',$datetime);
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')";
日付には、次の形式が表示されている必要があります:0000-00-00 00:00:00
だから、あなたはそれを変換する必要があります。ここSOでは、この変換について何千もの質問があります。
最短の方法は次のようなものです
list($m,$d,$y) = explode("/",$_POST['date']);
$date = mysql_real_escape_string("$y-$m-$d ".$_POST['time']);
日時の形式は次のようになります。
YYYY-MM-DD HH:MM:SS
そのため、$ datetimeをそのようにフォーマットする必要があります。そして、クォーテーションマークでカプセル化する必要があるクエリで。
YYYY-MM-DD HH:MM:SS
_形式に変換するか、または、MySQLのstr_to_date()
関数を使用します。
INSERT INTOテーブルのDATETIME値(str_to_date($ date、 "%m /%d /%Y%h:%i"))
私が覚えている限り、デフォルトでは、Mysqlの日時は「yyyy-mm-ddhh:mm:ss」形式である必要があります。
私は次のようなAPIを介してmysqldbに日付と時刻を追加しました:
APIを呼び出す
http://localhost/SendOrder.php?odate=20120323&otime=164545
odate
タイプはDATEですotime
タイプはDBのTIMEです。大館は2012-03-23として、otimeは16:45:45として保存されます。