Rumah  >  Artikel  >  pangkalan data  >  Mengapa cap waktu MySQL saya sentiasa 00:00:00 apabila memasukkan tarikh semasa?

Mengapa cap waktu MySQL saya sentiasa 00:00:00 apabila memasukkan tarikh semasa?

Linda Hamilton
Linda Hamiltonasal
2024-10-31 00:31:03552semak imbas

Why is my MySQL timestamp always 00:00:00 when inserting the current date?

Memasukkan Tarikh Semasa dalam Format Datetime dalam MySQL

Memasukkan tarikh semasa dalam format datetime ke dalam pangkalan data MySQL boleh menjadi tugas yang mudah. Walau bagaimanapun, jika proses penyisipan menghadapi masalah, ia boleh mengecewakan. Artikel ini bertujuan untuk menangani masalah khusus yang dihadapi semasa cuba memasukkan tarikh semasa ke dalam pangkalan data, menyebabkan masa dipaparkan sebagai 00:00:00.

Masalah:

Pengarang pertanyaan menyatakan kesukaran untuk memasukkan tarikh semasa ke dalam pangkalan data dengan nilai yang digemakan dengan betul. Kod yang digunakan untuk memasukkan tarikh semasa adalah seperti berikut:

<code class="php">$date = date('m/d/Y h:i:s', time());</code>

Kod memastikan tarikh semasa sistem dijana dalam format yang ditentukan. Walau bagaimanapun, pertanyaan sisipan:

<code class="php">mysql_query("INSERT INTO table (dateposted) VALUES ('$date')");</code>

tidak berfungsi seperti yang dijangkakan dan masa ditetapkan kepada 00:00:00, membuatkan pengguna tertanya-tanya tentang punca isu itu.

Penyelesaian:

Salah satu penyelesaian yang berkesan melibatkan penggunaan fungsi terbina dalam MySQL untuk mengendalikan sisipan cap masa semasa. Dengan menggunakan fungsi NOW(), anda boleh mencapai hasil yang diinginkan dengan mudah. Pertanyaan yang dikemas kini akan kelihatan seperti ini:

<code class="php">mysql_query("INSERT INTO `table` (`dateposted`) VALUES (now())");</code>

Pendekatan ini memanfaatkan kefungsian pangkalan data untuk mengurus pengendalian cap waktu, menghapuskan keperluan untuk manipulasi tarikh dan masa manual.

Kaedah alternatif melibatkan penggunaan PHP fungsi tarikh dengan format yang sesuai. MySQL menyimpan tarikh dalam format "Y-m-d H:i:s". Dengan memastikan tarikh PHP anda sepadan dengan format ini, anda boleh berjaya memasukkan tarikh dan masa semasa ke dalam pangkalan data anda.

<code class="php">$date = date('Y-m-d H:i:s');
mysql_query("INSERT INTO `table` (`dateposted`) VALUES ('$date')");</code>

Dengan mengikuti pendekatan ini, anda seharusnya boleh memasukkan tarikh semasa dalam format datetime ke dalam pangkalan data MySQL anda dengan tepat. Ingat untuk memilih kaedah yang paling sesuai dengan keperluan dan pilihan anda.

Atas ialah kandungan terperinci Mengapa cap waktu MySQL saya sentiasa 00:00:00 apabila memasukkan tarikh semasa?. 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