2017-05-30 6 views
-1

このコードはこのエラーを作成しています "エラー:時刻の値が正しくありません: '2017-05-30時間「列の 『夜5時43分14秒午後』行1" の 、誰か、私はこのエラーを修正するために助けてくださいエラー:間違った時刻値: '2017-05-30 17:43:14 pm'列 'time' for row 1


<?php 
include 'database.php'; 
//check if form is submitted 
if(isset($_POST['submit'])){ 
    $user = mysqli_real_escape_string($con, $_POST['user']); 
    $message = mysqli_real_escape_string($con, $_POST['message']); 
    //set date 
    date_default_timezone_set('Asia/Kolkata'); 
    $time = date('Y-m-d H:i:s a', time()); 

    //validation 
    if(!isset($user) || $user=='' || !isset($message) || $message == ''){ 
     $error = "Please fill in your Name and Message"; 
     header("Location: index.php?error=" .urlencode($error)); 
      exit(); 

    }else{ 
     $query = "INSERT INTO shouts (user, message, time) VALUES('$user', '$message', '$time')"; 
     if(!mysqli_query($con, $query)){ 
      die('Error: ' .mysqli_error($con)); 
     }else{ 
      header("Location: index.php"); 
      exit(); 
     } 

    } 
} 
+0

あなたのdbスキーマと、 'time'カラムのタイプは何ですか? –

+0

あなたはデータベースのフィールドがdatetime型ですか?もしそれがdatetime – Exprator

+0

@Expratorに変更されていなければ、 'pm'を使って' 2017-05-30 17:43:14 pm'ではなく、それを使うことはできません。 MySQLは$ time = date( 'Y-m-d H:i:s a'、time());を使い続けたい場合に与えられる 'YYYY-mm-dd 00:00:00'を使います。 –

答えて

1

Mysqlの 『DATEはYmd『』列タイプは、次の日付形式を受け入れます』 'DATETIME'列に「Ymd H:i:s」と表示されます。 さらに '2017-05-30 17:43:14 pm' 17:43:14以降にPM部分は何もしていません。 カラムのタイプを確認し、それに応じて入力フォーマットを調整してください。

関連する問題