Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Memasukkan Tarikh dengan Betul daripada Pemetik Tarikh jQuery ke dalam Pangkalan Data MySQL?
Format tarikh sisip mysql PHP
Apabila menggunakan datepicker jQuery dengan format 'MM/DD/YYYY' untuk memasukkan tarikh ke dalam Pangkalan data MySQL, anda mungkin menghadapi ralat dengan tarikh yang dimasukkan disimpan sebagai '0000-00-00 00:00:00'. Isu ini timbul kerana format 'MM/DD/YYYY' tidak diiktiraf sebagai literal tarikh yang sah oleh MySQL.
Menurut dokumentasi MySQL pada Date and Time Literals, MySQL mengiktiraf nilai DATE dalam format berikut:
Untuk menyelesaikan isu ini, anda boleh meneroka perkara berikut pilihan:
Buat objek DateTime daripada rentetan datepicker jQuery:
$date = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
Kemudian, formatkan tarikh menjadi disokong format:
$date_string = $dt->format('Y-m-d');
Tukar rentetan datepicker jQuery kepada format serasi MySQL menggunakan STR_TO_DATE () fungsi:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
Pisah rentetan datepicker jQuery kepada bahagian untuk bulan, hari dan tahun, kemudian buat rentetan serasi MySQL:
$parts = explode('/', $_POST['date']); $mysql_date = "$parts[2]-$parts[0]-$parts[1]";
Konfigurasikan pemetik tarikh untuk mengeluarkan tarikh dalam format yang disokong menggunakan dateFormat atau altField altFormat pilihan:
$( "selector" ).datepicker({ dateFormat: "yyyy-mm-dd" });
atau
$( "selector" ).datepicker({ altField: "#actualDate" altFormat: "yyyy-mm-dd" });
Awas:
Adalah penting untuk melindungi daripada suntikan SQL dengan menggunakan pernyataan yang disediakan. Selain itu, pertimbangkan untuk menggunakan jenis data DATE dalam MySQL untuk menyimpan tarikh, kerana ia direka khusus untuk tujuan ini.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Tarikh dengan Betul daripada Pemetik Tarikh jQuery ke dalam Pangkalan Data MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!