Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Memasukkan Tarikh dengan Betul daripada Pemetik Tarikh jQuery ke dalam Pangkalan Data MySQL?

Bagaimana untuk Memasukkan Tarikh dengan Betul daripada Pemetik Tarikh jQuery ke dalam Pangkalan Data MySQL?

Linda Hamilton
Linda Hamiltonasal
2024-11-28 07:15:12390semak imbas

How to Properly Insert Dates from a jQuery Datepicker into a MySQL Database?

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:

  • 'YYYY-MM-DD' atau 'YY-MM-DD' (dengan atau tanpa pembatas seperti '/', '-' atau '.')
  • 'YYYYMMDD' atau 'YYMMDD' (tanpa pembatas)
  • Nombor dalam format YYYYMMDD atau YYMMDD, jika ia masuk akal sebagai tarikh

Untuk menyelesaikan isu ini, anda boleh meneroka perkara berikut pilihan:

  1. Gunakan objek DateTime PHP untuk menukar tarikh:

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');
  1. Gunakan fungsi STR_TO_DATE() MySQL:

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'))
  1. Memanipulasi rentetan secara manual:

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]";
  1. Konfigurasikan pemetik tarikh jQuery:

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn