2016-12-23 9 views
0

状況:PHP日正しい形式で挿入しませ

のMySQLにuserIDDateを挿入するクエリを実行しようとすると、ユーザIDが挿入されるようにすると、日付は0000-00-00を表示します。使用

$stdb->insert('sleep', array('userid'=>$userid,'date'=>date("Y-m-d")), array('%s','%d')); 

コードカスタムと

WordpressのWPDBクラス

私は違いがある(より多くのデータが送信されている類似している作業他のクエリを、持っています)、これらのコード機能を使用します。

私は、ログにdate("Y-m-d")を書かれているし、それが2016-12-23

エラーログがエラーを返さないと、データベースはMySQLの列の日付の整形のためのセットアップです出てきます。

どうすればよいですか?

+0

MySQLに日付を挿入するときは、値をエスケープする必要があります。したがって、 '' 'の前後に' 'date(" Y-m-d ")'を置く必要があります。 – Hicaro

答えて

0

を使用することができ、あなたのPHPの日付/時刻と同期されると仮定すると、最初の日付の後の日付 - これを日付に変更することによって( "Ymd")データベース内の日付リレーが正しく表示されました。

0

送信する前にunixにキャストしようとしましたか?変更してみてください:

'date'=>date("Y-m-d"))date()

あなたのDBはあなただけの私が問題、日付(「はYmd」)セクションが終了して考え出しnow()

+1

なぜ 'time()'だけではないのですか? – miken32

+0

本当にうまくいかないのはなぜでしょうか...もっと良い方法は、タイムスタンプにmysqlを使うことでしょう。両方の時刻が同期されている限り、 – atoms

+0

列内の日付がDATEであるという質問には関係ありません。 – miken32

0

phpとmysqlから日付を挿入する場合は、このコードを使用できます。

<?php 
date_default_timezone_set("Asia/Calcutta"); 
$date = date("d-m-y"); 

$sql = "INSERT INTO disp_time(userId, date) VALUES ('username','$date')"; 

if($link->query($sql)){ 
    echo "Query Successfully inserted"; 
} 
else 
{ 
    echo "Failed to insert".$sql."<br>".$link->error; 
} 
?> 
関連する問題