2017-02-13 4 views
0

やあみんな私の問題はNOW()またはCURRENT_TIMESTAMP()を使用しているので、私が代わりにMYSQL/PHPインサート日

"INSERT INTO date_time(`submitted_time`) VALUES (NOW())" 

のこの

date_default_timezone_set(Asia/Hong_Kong); 
$date = date('"m/d/Y H:i:s"'); 

を挿入することができます私に不正確な時間を与え、これを行う

イムしかし、私はデータベースを見ると、これは挿入されているものです0000-00-00 00:00:00.0

+0

不正確な時間? – Akintunde007

+0

$ date = date( 'Y-m-d H:i:s'); – Akintunde007

+0

NOW()またはCURRENT_TIMESTAMP()を使用すると、その7時間後のものが表示されます – JustAngelo

答えて

2

これを生成する日時を実際に挿入する場合は、それがどのように行われるかです。

注:それはMYSQLは、そのDateTimeデータ型について理解できる形式であると表示したい場合は、他の任意の形式でユーザーのDateTimeを表示

date_default_timezone_set('Asia/Manila'); 

if(isset($_POST['submit'])) { 

    $query = "INSERT INTO `date_time` (`submitted_time`) VALUES(?)"; 
    $stmt = $conn->prepare($query); 

    // note the DateTime must be in this format to store correctly on a MYSQL database 
    $dt = date('Y-m-d H:i:s'); 

    $stmt->bind_param('s', $dt); 
    $status = $stmt->execute(); 

    if(!$status) { 
     echo $stmt->error;  
     exit; 
    } 
    echo "success"; 
} 

日付の書式はY-m-d H:i:sでなければなりませんプレゼンテーション層の仕事は、それをどのようなロケール固有のフォーマットにも再フォーマットする。

Your script was at risk of SQL Injection Attack Have a look at what happened to Little Bobby Tables Even if you are escaping inputs, its not safe! Use prepared parameterized statements

+0

構文解析エラー、予期しない' exit '(T_EXIT)、'、 'または'; ' – JustAngelo

+0

ごめんなさい。前の固定行に ';'が必要でした 'echo $ stmt->エラー; ' – RiggsFolly

+0

注意:変数のみが参照渡しされ、これは表示されますが、それはbtwで動作します。おかげで多くの – JustAngelo

関連する問題