2016-06-18 13 views
0

Ich habe Probleme beim Einfügen des Datums in die MYSQL-Datenbank. Betrachten Variable folgende:String to Date Konvertierung für das Format TT/MM/JJJJ in PHP und MYSQL funktioniert nicht

$mydate = '18/06/2016' // tt/mm/jjjj Format

Jetzt versuche ich, dieses Datum in das Datumsfeld einfügen (dob) meiner MySQL-Datenbank, die mich Syntaxfehler wirft. Folgende ist meine PHP/MYSQL Abfrage:

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

Früher, als ich verwendete Datumsformat in mm/tt/akzeptieren, es war einfach und ohne Konvertierung eingefügt zu werden, wie folgt aus:

insert into mytable (dob) values ($mydate) 

Was ich hier vermisse?

Update:

Meine eigentliche Frage ist:

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

Syntaxfehler ist:

#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

Würden Sie mir bitte den Datentyp für dob field mitteilen? –

+0

@MaulikKanani - Ich habe es bereits in meiner Frage erwähnt - "Jetzt versuche ich, dieses Datum in das 'Datum' Feld (DOB) meiner MySQL-Datenbank einzufügen" –

Antwort

3

, die wahrscheinlich ist, weil MySQL YYYY-MM-DD Format akzeptiert. Versuchen Sie, wie diese einzufügen,

<?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

Es hat nicht funktioniert. Derselbe Syntaxfehler. –

+0

Was ist der genaue Fehler? –

+0

Aktualisiert meine Antwort, bitte versuchen Sie es so. –

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."')"; 
?> 

bitte Sie versuchen diese?