Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Membetulkan Ketidakpadanan Format Sisipan Tarikh MySQL PHP?

Bagaimanakah Saya Boleh Membetulkan Ketidakpadanan Format Sisipan Tarikh MySQL PHP?

Susan Sarandon
Susan Sarandonasal
2024-11-27 09:29:11923semak imbas

How Can I Fix PHP MySQL Date Insertion Format Mismatches?

PHP MySQL Sisipkan Format Tarikh Tidak Padan

Apabila memasukkan tarikh ke dalam pangkalan data MySQL menggunakan PHP, adalah penting untuk memastikan format tarikh sepadan dengan jangkaan pangkalan data.

MySQL mengenali tarikh dalam format tertentu, termasuk 'YYYY-MM-DD' atau 'YY-MM-DD'. Walau bagaimanapun, apabila memasukkan tarikh seperti '08/25/2012' menggunakan kod berikut:

mysql_query("INSERT INTO user_date VALUE( '', '$name', '$date')")

pangkalan data memasukkan '0000-00-00 00 00 00'. Ini berlaku kerana MySQL mentafsir input sebagai rentetan, bukan literal tarikh.

Pilihan Penyelesaian

Terdapat beberapa pilihan untuk menyelesaikan isu format tarikh ini:

  • Gunakan JavaScript Datepicker AltField: Tentukan medan alternatif untuk simpan tarikh dalam format yang dikehendaki.
  • Tukar String dengan STR_TO_DATE(): Gunakan fungsi STR_TO_DATE() untuk menukar rentetan kepada format tarikh yang diiktiraf MySQL sebelum memasukkan.
  • Gunakan Objek DateTime PHP: Cipta objek DateTime daripada rentetan dan kemudian formatkannya mengikut keperluan sebelum memasukkan.
  • Format Rentetan Secara Manual: Parsing rentetan input dan buat literal tarikh MySQL yang sah secara manual.

Amaran

Sebelum meneruskan, pastikan kod anda dilindungi daripada suntikan SQL dan pertimbangkan untuk menggunakan pernyataan yang disediakan dan bukannya fungsi mysql_* tidak digunakan. Selain itu, pertimbangkan untuk menggunakan jenis DATE untuk menyimpan tarikh tanpa maklumat masa.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Ketidakpadanan Format Sisipan Tarikh MySQL PHP?. 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