Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Betulkan '0000-00-00 00:00:00' Ralat Penyisipan Tarikh dalam PHP dan MySQL?
Format Tarikh Masukkan PHP MySQL: Menyelesaikan Isu Tarikh Tidak Sah
Memasukkan tarikh ke dalam pangkalan data MySQL kadangkala boleh mengakibatkan ralat di mana pangkalan data memasukkan hanya '0000-00-00 00 00 00' walaupun format tarikh yang betul dalam kod. Isu ini timbul apabila format tarikh tidak dikenali oleh MySQL.
Untuk menyelesaikan isu ini, adalah penting untuk mengikuti format tarikh yang ditentukan yang MySQL terima:
Dalam kod yang diberikan, tarikh diterima dalam format ' 08/25/2012', yang tidak diiktiraf oleh MySQL. Oleh itu, kita perlu mengubah suai format tarikh kepada salah satu format yang disokong.
Pilihan untuk Menyelesaikan Isu Format Tarikh:
altField dan <code data-type="javascript">altFormat untuk menentukan format di mana tarikh dihantar ke skrip PHP. Contohnya, <code data-type="javascript">altFormat: "yyyy-mm-dd".
Gunakan Fungsi STR_TO_DATE(): Tukar rentetan tarikh kepada format yang disokong MySQL menggunakan STR_TO_DATE() fungsi. Contoh:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
Gunakan DateTime Object: Tukar rentetan tarikh kepada objek PHP DateTime, dapatkan rentetan terformat dan gunakannya dalam pertanyaan sisipan. Contoh:
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']); $date = $dt->format('Y-m-d'); INSERT INTO user_date VALUES ('', '$name', '$date')
Memanipulasi Rentetan Tarikh: Memanipulasi rentetan tarikh secara manual untuk menukarnya kepada format MySQL yang sah. Contoh:
$parts = explode('/', $_POST['date']); $date = "$parts[2]-$parts[0]-$parts[1]"; INSERT INTO user_date VALUES ('', '$name', '$date')
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk Betulkan '0000-00-00 00:00:00' Ralat Penyisipan Tarikh dalam PHP dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!