2012-04-11 8 views
0

Kann jemand bitte helfen Sie mir, wie Zeichenfolge zu konvertierenZeichenfolge Datum mit PHP oder MySQL

Ich habe 3 Dropdown-Listen (Jahr, Monat, Datum) bis heute, und ich bekam Datum als 2012-Januar-12.

Wie kann ich es wie 2012-01-12 (JJJJ-MM-TT) konvertieren.

$ dob = $ Jahr .'- '. $ Monat .'-'. $ Tag;

Ich verwendete str_to_date ('$ dob', '% Y-% M-% e') in der Abfrage selbst, aber es stoppt die Ausführung der Abfrage.

Hier ist die Abfrage

 $sql = "insert into issio_asc_workers (lname_fname_dob, asc_id, asc_lastname, asc_firstname, asc_middlename, asc_dob, asc_phone_mobile, asc_phone_work, asc_ssn, 
       asc_email, asc_phone_preferred, asc_status, asc_emp_yesno, asc_emp_status, asc_user_type, asc_npi, asc_credentials, asc_committee, asc_speciality, 
       asc_group, asc_startdate)values ('$lfd', '$ascid', '$lname', '$fname', '$mname', 
      'str_to_date('$dob','%Y-%M-%e')', '$phCell', '$phOffice', '$ssn', '$email', '$preffered', '$asc_status', '$empType', '$asc_emp_status', '$asc_user_type', '$npi', 
      '$credential', '$commitee ', '$speciality', '$group', 'str_to_date('$sdate','%Y-%M-%e')')"; 

Thnaks im Voraus ....,

Antwort

1

Es ist eine gute Idee, marshall Ihre Variablen, bevor Sie sie in Ihre SQL-Abfrage einfügen. Dies ist nicht schwieriger für das Programm zu laufen, aber macht Ihr Leben als Programmierer viel einfacher:

$dob_asDate = str_to_date('$dob','%Y-%M-%e'); 

$sql = "insert into issio_asc_workers (lname_fname_dob, asc_id, asc_lastname, asc_firstname, asc_middlename, asc_dob, asc_phone_mobile, asc_phone_work, asc_ssn, 
       asc_email, asc_phone_preferred, asc_status, asc_emp_yesno, asc_emp_status, asc_user_type, asc_npi, asc_credentials, asc_committee, asc_speciality, 
       asc_group, asc_startdate)values ('$lfd', '$ascid', '$lname', '$fname', '$mname', 
      '$dob_asDate', '$phCell', '$phOffice', '$ssn', '$email', '$preffered', '$asc_status', '$empType', '$asc_emp_status', '$asc_user_type', '$npi', 
      '$credential', '$commitee ', '$speciality', '$group', 'str_to_date('$sdate','%Y-%M-%e')')"; 

Auf diese Weise kann $dob_asDate Echo und sicherzustellen, dass es ist, was Sie wollen.

+0

@Devswa diese Hilfe nicht wahr? –

2
$date = DateTime::createFromFormat('Y-m-d\TH:i:s', '2010-06-03T14:29:00'); 

Try this ... Füllen Sie das Datum mit Ihren Daten aus dem Formular erhalten haben, dann setzen Sie die Variable in der MySQL-Insert-Abfrage

+0

Danke für Ihre Antwort – Devswa