Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Memasukkan Tarikh dengan betul dari jQuery Datepicker ke dalam MySQL Menggunakan PHP?

Bagaimana untuk Memasukkan Tarikh dengan betul dari jQuery Datepicker ke dalam MySQL Menggunakan PHP?

Susan Sarandon
Lepaskan: 2024-11-28 08:36:15
asal
783 orang telah melayarinya

How to Correctly Insert Dates from jQuery Datepicker into MySQL Using PHP?

Memasukkan Format Tarikh ke dalam MySQL Menggunakan PHP

Apabila bekerja dengan pangkalan data MySQL, adalah penting untuk memformat nilai tarikh dengan betul semasa memasukkan. Isu biasa ialah memasukkan tarikh dalam format yang salah, yang membawa kepada ralat pangkalan data.

Masalah:

Anda menggunakan pemilih tarikh jQuery, yang mengembalikan tarikh dalam 'MM format /DD/YYYY'. Walau bagaimanapun, MySQL menjangkakan tarikh dalam format tertentu, seperti 'YYYY-MM-DD', 'YY-MM-DD' atau 'YYYYMMDD'. Memasukkan tarikh dalam format yang salah akan menyebabkan '0000-00-00 00 00 00' disisipkan.

Penyelesaian:

Terdapat beberapa cara untuk menyelesaikan isu ini :

  • Gunakan Datepicker Pilihan altField dan altFormat: Konfigurasikan pemetik tarikh untuk menyediakan tarikh dalam format yang disokong dengan menetapkan pilihan altField dan altFormat. Contohnya:
<input type="hidden">
Salin selepas log masuk
  • Tukar rentetan menggunakan fungsi STR_TO_DATE() MySQL: Tukar rentetan tarikh yang diterima daripada jQuery ke dalam format MySQL yang sah menggunakan STR_TO_DATE( ) fungsi:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
Salin selepas log masuk
  • Gunakan kelas DateTime PHP: Tukar rentetan menjadi objek PHP DateTime dan kemudian dapatkan rentetan terformat atau cap waktu UNIX yang sesuai:
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
$date = $dt->format('Y-m-d'); // Formatted string
$timestamp = $dt->getTimestamp(); // UNIX timestamp
Salin selepas log masuk
  • Memanipulasi secara manual rentetan: Pisah rentetan tarikh secara manual kepada komponennya dan pasangkannya dalam format yang betul:
$parts = explode('/', $_POST['date']);
$date = "$parts[2]-$parts[0]-$parts[1]";
Salin selepas log masuk

Awas:

  1. Elakkan suntikan SQL: Pastikan anda menggunakan pernyataan yang disediakan untuk mengelakkan suntikan SQL kelemahan.
  2. Gunakan jenis DATE dan bukannya DATETIME atau TIMESTAMP: Jenis DATE disyorkan untuk menyimpan nilai tarikh tulen tanpa komponen masa.

Nota Tambahan:

  • The fungsi mysql_* ditamatkan dalam PHP 5.5.0 dan harus digantikan dengan sambungan mysqli atau PDO_MySQL.
  • Fungsi STR_TO_DATE() memerlukan pembolehubah sistem format_date ditetapkan kepada format yang sesuai untuk menghuraikan rentetan tarikh.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Tarikh dengan betul dari jQuery Datepicker ke dalam MySQL Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan