Rumah >pangkalan data >tutorial mysql >Mengapakah `date('Y-M-D G:i:s')` Gagal Dimasukkan ke dalam Lajur `DATETIME` MySQL?

Mengapakah `date('Y-M-D G:i:s')` Gagal Dimasukkan ke dalam Lajur `DATETIME` MySQL?

Susan Sarandon
Susan Sarandonasal
2024-12-02 09:47:10478semak imbas

Why Does `date('Y-M-D G:i:s')` Fail to Insert into MySQL's `DATETIME` Column?

Pemformatan PHP date() untuk Sisipan DATETIME MySQL

Apabila memasukkan nilai ke dalam lajur datetime MySQL, adalah penting untuk menggunakan format yang betul dalam kod PHP anda. Fungsi date() boleh digunakan untuk menyediakan data dalam format yang diingini, tetapi menggunakan parameter yang salah boleh membawa kepada hasil yang tidak dijangka.

Ralat dengan Parameter "M" dan "D"

Dalam masalah yang diterangkan, menggunakan date('Y-M-D G:i:s') secara konsisten memasukkan "0000-00-00 00:00:00." Ini kerana parameter "M" dan "D" mewakili perwakilan teks bagi bulan dan hari, bukan nilai angka yang dijangkakan oleh MySQL. Format angka yang betul ialah "m" dan "d."

Penyelesaian: Pemformatan Tarikh Berangka

Untuk menyelesaikan isu, gunakan format berikut dalam tarikh() fungsi: tarikh('Y-m-d H:i:s'). Format ini menggunakan "m" untuk bulan berangka dan "d" untuk hari berangka. Ia juga menggunakan "H" untuk format 24 jam pada jam tersebut.

Contoh:

$date = date('Y-m-d H:i:s');
$sql = "INSERT INTO table_name (datetime_column) VALUES ('$date')";

Menggunakan pemformatan yang diperbetulkan ini akan memastikan tarikh dimasukkan ke dalam lajur masa tarikh MySQL dalam format yang dijangkakan.

Atas ialah kandungan terperinci Mengapakah `date('Y-M-D G:i:s')` Gagal Dimasukkan ke dalam Lajur `DATETIME` 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