2016-06-18 10 views
0

MYSQLデータベースに日付を挿入する際に問題が発生しています。変数次の点を考慮PHPとMYSQLのDD/MM/YYYY形式の文字列から日付への変換が機能しない

$mydate = '18/06/2016' // DD/MM/yyyy形式今

を、私は私に構文エラーを投げている私のMySQLデータベースの日付フィールド(DOB)には、この日付を挿入しようとしています。以下は、私のPHP/MySQLのクエリです:

insert into mytable (dob) values (date('dd/mm/yyyy', strtotime($mydate))) 

私はYYYY/MM/DDで日付形式を受け入れるために使用された場合以前、それは簡単に変換されずに挿入なっていた、このように:

insert into mytable (dob) values ($mydate) 

私はここで何が欠けているのですか?

更新:

私の実際のクエリは次のとおりです。

insert into users(fullname, dob, notes) values ('Joy', date('Y-m-d', strtotime('15/06/2016')), 'My notes'); 

構文エラーがある:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' strtotime('15/06/2016')), 'My notes')' at line 1 
+0

dobフィールドのデータ型を教えてください。 –

+0

@MaulikKanani - 私はすでに私の質問でそれを言及しました - "今、私のMYSQLデータベースの日付フィールド(dob)にこの日付を挿入しようとしています" –

答えて

3

MySQLはYYYY-MM-DD形式を受け入れるため、おそらくです。このように挿入しようと、

<?php 
    $mydate="18/06/2016"; 
    $date = DateTime::createFromFormat('d/m/Y', $mydate); 
    $dateFormat=$date->format('Y-m-d'); 
    $sql="INSERT INTO mytable (dob) VALUES ('".$dateFormat."')"; 
+0

それはうまくいきませんでした。同じ構文エラーです。 –

+0

正確なエラーは何ですか? –

+0

私の答えを更新しました。このようにしてください。 –

0
<?php 
    $date ='18/06/2016'; 
    $date = str_replace('/', '-', $date); 
    $date = date('Y-m-d', strtotime($date)); 
    $dateFormat=date("Y-m-d", strtotime($mydate)); 
    $sql="INSERT INTO mytable (dob) VALUES ('".$dateFormat."')"; 
?> 

あなたは、このいずれかを試してみてくださいますか?

関連する問題